Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt PHP den Fehler „Verwendung einer undefinierten Konstante' aus und wie kann ich ihn beheben?
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!