我希望在没有pdo或准备语句的情况下保护我的sql查询 这个功能可以吗?
function sql_escape($string)
{
$string = iconv(mb_detect_encoding($string),'UTF-8//IGNORE',$string);
$string = addslashes($string);
$string = preg_replace('/[\x00-\x1F\x80-\xFF\0xB4\0x60\0x96\0x97\0x95\0x94\0x93\0x92\0x91\0x84\0x82\0x3B\0x8A]/', '', $string);
$string = addslashes($string);
return $string;
}
答案 0 :(得分:4)
不,使用提供的转义功能。对于mysqli
,这是mysqli_real_escape_string
。
不要重新发明轮子,特别是如果它是一个非常复杂的轮子,你不确定它是否适用于所有条件。
答案 1 :(得分:-1)
像许多PHP人一样,你很容易逃避注入保护。所以,有一天你的网站会被黑客入侵,你会来这里准备好学习一些有用的东西。