Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt PHP den Fehler „Verwendung einer undefinierten Konstante' aus und wie kann ich ihn beheben?

Warum gibt PHP den Fehler „Verwendung einer undefinierten Konstante' aus und wie kann ich ihn beheben?

Susan Sarandon
Susan SarandonOriginal
2024-12-16 07:33:10468Durchsuche

Why Does PHP Throw a

Den PHP-Fehler „Verwendung einer undefinierten Konstante“ verstehen

PHP protokolliert häufig Fehler in der Form „Hinweis: Verwendung einer undefinierten Konstante“ . Dieser Fehler tritt auf, wenn PHP anstelle einer Konstantendefinition auf ein String-Literal stößt. In solchen Fällen geht PHP davon aus, dass es sich bei der Zeichenfolge um eine Konstante handelt, und versucht, eine entsprechende Definition zu finden.

Betrachten Sie beispielsweise den folgenden Codeausschnitt:

$department = 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]);

Dieser Code generiert Folgendes Fehler:

PHP Notice:  Use of undefined constant department - assumed 'department' (line 5)
PHP Notice:  Use of undefined constant name - assumed 'name' (line 6)
PHP Notice:  Use of undefined constant email - assumed 'email' (line 7)
PHP Notice:  Use of undefined constant message - assumed 'message' (line 8)

Diese Fehler weisen darauf hin, dass PHP versucht, die Zeichenfolgenliterale „Abteilung“, „Name“, „E-Mail“ und zu interpretieren „message“ als Konstanten. Da jedoch keine solchen Konstanten definiert sind, geht PHP davon aus, dass es sich um String-Literale handelt und gibt die Fehlermeldung „Verwendung einer undefinierten Konstante“ aus.

Fehlerbehebung

Zu Um diesen Fehler zu beheben, müssen Zeichenfolgenliterale in Anführungszeichen gesetzt werden, wenn sie als Array-Schlüssel in PHP verwendet werden. Das richtige Code-Snippet wäre zum Beispiel:

$department = 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']);

Durch das Einschließen der Array-Schlüssel in Anführungszeichen interpretiert PHP sie korrekt als String-Literale und nicht als Konstanten, wodurch der Fehler „Verwendung undefinierter Konstanten“ vermieden wird.

Das obige ist der detaillierte Inhalt vonWarum gibt PHP den Fehler „Verwendung einer undefinierten Konstante' aus und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn