あなたが与えたリンクを正しく読んでください。
問題の解決策はリンクに書かれています
1. 準備済みステートメント クラスを使用して、SQL インジェクションの脆弱性を修正し、SQL エラー リクエストをフィルタリングします。error(0) を設定して、例外またはエラー レポートによる情報漏えいを防ぎます。
2. 入力フィールドを解析し、() > < \ / などの文字を制限して、スクリプトが含まれないようにします。スクリプト コードがモジュール コンテキストから実行されている脆弱な出力セクションも解析します。
準備されたステートメントを作成するには
$oDB=new PDO('..your connection.. ');
$hStmt=$oDB->prepare("select * from users where id=:id");
$hStmt->execute(array(':id',$userID));
上記$userID
は SQL 文字列と結合されていないため、SQL インジェクションは機能しません。
mysqli_real_escape_string の使用
非推奨になっていることに注意してくださいmysql_real_escape_string
。代わりに、使用方法について説明しますmysqli_real_escape_string
$a= "'ABCD"; //will not work because of quotation
$a= $mysqli->real_escape_string($a);
//Now this is the string with special chars escaped
詳細については、こちらをお読みください
PDO PHP で SQL インジェクションを防ぐにはどうすればよいですか?
文字列のエスケープhttp://php.net/manual/en/mysqli.real-escape-string.php