PHP 오류 "정의되지 않은 상수 사용" 이해하기
PHP는 종종 "주의: 정의되지 않은 상수 사용" 형식으로 오류를 기록합니다. . 이 오류는 PHP가 상수 정의 대신 문자열 리터럴을 발견할 때 발생합니다. 이러한 경우 PHP는 문자열이 상수라고 가정하고 해당 정의를 찾으려고 시도합니다.
예를 들어 다음 코드 조각을 고려하세요.
$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]);
이 코드는 다음을 생성합니다. 오류:
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)
이러한 오류는 PHP가 문자열 리터럴 "department", "name,"을 해석하려고 시도하고 있음을 나타냅니다. "email" 및 "message"를 상수로 사용합니다. 그러나 그러한 상수가 정의되어 있지 않으므로 PHP는 이를 문자열 리터럴로 가정하고 "정의되지 않은 상수 사용"이라는 오류 메시지를 표시합니다.
오류 해결
To 이 오류를 해결하려면 PHP에서 배열 키로 사용될 때 문자열 리터럴을 따옴표로 묶어야 합니다. 예를 들어 올바른 코드 조각은 다음과 같습니다.
$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']);
배열 키를 따옴표로 묶으면 PHP는 이를 상수가 아닌 문자열 리터럴로 올바르게 해석하여 "정의되지 않은 상수 사용" 오류를 제거합니다.
위 내용은 PHP에서 '정의되지 않은 상수 사용' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!