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/

浙公网安备 33010602011771号