php不用pdo防止sql语句注入的方法
php不用pdo防止sql语句注入的方法
function getrepairsql($sql, $replacement, $isreturn = 0) { $count = substr_count($sql, '?'); $pattern = array_fill(0, $count, '/\?/'); foreach ($replacement as $k => $v) { if (!is_int($v)) { $replacement[$k] = "'" . $v . "'"; } } $res = preg_replace($pattern, $replacement, $sql, 1); if ($isreturn == 1) { return $res; } else { print_r($res); exit(); } }
$sql='select * from aa_copy_copy where id=?'; $sql=getrepairsql($sql,array($ss),1);
直接用替换法就可以了
如果是数字直接intval()就行了
如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
作者:newmiracle
出处:https://www.cnblogs.com/newmiracle/