すべての整数を a で実行して(int)Integer
、クエリ文字列で安全に使用できるようにします。
また、この関数コードを使用して文字列を実行します:-
if(!get_magic_quotes_gpc()) {
$string = mysql_real_escape_string($string);
}
$pattern = array("\\'", "\\\"", "\\\\", "\\0");
$replace = array("", "", "", "");
if(preg_match("/[\\\\'\"\\0]/", str_replace($pattern, $replace, $string))) $string = addslashes($string);
$cleanedString = str_replace('%','',$string);
私は明らかに $cleanedString 変数を返します。% 文字は mySQL のワイルドカードであり、ユーザーが挿入するとクエリが遅くなる (または正しくないデータが返される) 可能性があるため、ここで % 文字を置き換えます。心配する必要がある mySQL のその他の特殊文字はありますか?
2 番目のメモとして、私の検索と置換の後に間違っていることや冗長なことはありmysql_real_escape_string
ますか? 私が最初に始めたときにウェブサイトからそれを入手しました.(私の記憶が正しければ)エスケープ文字列に加えてこの検索/置換を使用する必要があると書かれていました. 以前にエスケープされたインジェクション文字を削除しようとしているように見えますか?