「mysqli_real_escape_string() は正確に 2 つのパラメータを期待し、1 つは指定されています」エラーの処理
PHP では、mysqli_real_escape_string() 関数は、これを防ぐために不可欠ですSQL インジェクションの脆弱性。ただし、開発者はよく「mysqli_real_escape_string() は 2 つのパラメータを期待しており、1 つは指定されています。」というエラーに遭遇します。
このエラーを理解するために、関数の宣言を調べてみましょう。
string mysqli_real_escape_string(mysqli $link, string $escapestr)
これには 2 つのパラメータが必要です。 :
指定したコード スニペットには $link パラメーターがありません:
if (phpversion() >= '4.3.0') { $string = mysqli_real_escape_string($string); } else { $string = mysqli_escape_string($string); }
解決するにはエラーが発生した場合は、正しい数のパラメータを指定する必要があります。例:
if (phpversion() >= '4.3.0') { $string = mysqli_real_escape_string($mysqli, $string); } else { $string = mysqli_escape_string($mysqli, $string); }
ここで、$mysqli は有効な MySQLi 接続リンクを表します。
以上が「mysqli_real_escape_string()」が「正確に 2 つのパラメータを期待し、1 つは指定されています」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。