ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「未定義定数の使用」エラーが発生するのはなぜですか?

PHP で「未定義定数の使用」エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 08:22:10783ブラウズ

Why Am I Getting a

未定義定数の使用: PHP エラーを理解する

PHP の「未定義定数の使用」エラーは、参照しようとしていることを示していますコードの現在のスコープ内で定義されていない定数。定数は、スクリプトの実行を通じて変更されない名前付きの値であり、const キーワードまたは ALL_CAPS で記述されることによって示されます。

エラーの説明

コード内:


$デパートメント = mysql_real_escape_string($_POST[部門]);
$name = mysql_real_escape_string($_POST[名前]);
$email = mysql_real_escape_string($_POST[email]);
$message = mysql_real_escape_string($_POST[message]);

mysql_real_escape_string への引数として配列キー (「部門」、「名前」、「電子メール」、「メッセージ」) を使用しています。 () 関数。ただし、これらのキーは定数として定義されていないため、PHP はそれらを文字列として解釈します。

解決策

このエラーを解決するには、配列キーを引用符で囲みます:


$デパートメント = mysql_real_escape_string($_POST['Department']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$message = mysql_real_escape_string($_POST['message']);

これにより、配列キーを変数として定義し、未定義の定数を使用する必要がなくなります。

追加情報

以前PHP 8 では、未定義の定数を使用すると警告が表示されました。ただし、PHP 8 以降ではエラーが発生します。この変更は、コードの品質を向上させ、未定義の定数を文字列として解釈することで生じる可能性のある潜在的な問題を防ぐために行われました。

以上がPHP で「未定義定数の使用」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。