由於我的陳述一樣防止SQL注入與PHP
"SELECT * FROM `box` WHERE `thing` = '{$variable}'
我能清理與單純
$variable = str_replace("'","\'",$variable);
"SELECT * FROM `box` WHERE `thing` = '{$variable}'
將這項工作?我的主機不支持mysql轉義,我不使用mysqli。
由於我的陳述一樣防止SQL注入與PHP
"SELECT * FROM `box` WHERE `thing` = '{$variable}'
我能清理與單純
$variable = str_replace("'","\'",$variable);
"SELECT * FROM `box` WHERE `thing` = '{$variable}'
將這項工作?我的主機不支持mysql轉義,我不使用mysqli。
根據什麼類作爲查詢有效的數據類型,通常可以逃脫:
function cleanVar($str){
$str = strip_tags(addslashes($str));
return $str;
}
我高度懷疑,您的主機不支持mysql_real_escape_string
功能。
$variable = mysql_real_escape_string($variable);
$sql = "SELECT * FROM `box` WHERE `thing` = '{$variable}'";
如果你確實尚未安裝的MySQL,那麼你可以使用此基礎上RDBMS你的下面的轉義功能之一是使用:
如果是Postgres的你可以使用pg_escape_string
。
討厭重複自己,但是,再一次,試試這個:
PHP Intrusion Detection System
使用parametrized queries(PDO可能是你最好的選擇)。
有你爲什麼不使用mysqli的具體原因是什麼? – GolezTrol 2010-11-29 23:56:08
這是確定\t靜態函數乾淨($ x)的 \t { \t \t $ X = str_replace函數( '\' '' '」,用htmlspecialchars($ x)的); \t \t回$ X; \t} – Macmee 2010-11-29 23:57:57
轉到PDO - http://stackoverflow.com/questions/13569/mysqli-or-pdo-what-are-the-pros-and-cons - http://stackoverflow.com/questions/770782/moving - 從MySQL的到庫MySQLi-或-PDO – 2010-11-30 00:48:13