ホームページ > バックエンド開発 > PHPチュートリアル > 「mysqli_real_escape_string()」が「正確に 2 つのパラメータを期待し、1 つは指定されています」エラーをスローするのはなぜですか?

「mysqli_real_escape_string()」が「正確に 2 つのパラメータを期待し、1 つは指定されています」エラーをスローするのはなぜですか?

Patricia Arquette
リリース: 2024-12-25 03:57:16
オリジナル
735 人が閲覧しました

Why Does `mysqli_real_escape_string()` Throw a

「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 つのパラメータが必要です。 :

  1. $link: MySQLi へのリンクconnection
  2. $escapestr: エスケープする文字列

指定したコード スニペットには $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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート