php - PHP 错误消息 "Notice: Use of undefined constant"是什么意思?

标签 php arrays constants undefined

PHP 正在日志中写入此错误:“注意:使用未定义的常量”。

日志中的错误:

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)

相关代码行:

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

这是什么意思以及为什么我会看到它?

最佳答案

department 是一个字符串(此处用作数组键)。 PHP 中的字符串必须用引号引起来。在很久以前,PHP 对单字字符串使用引号很宽松,但现在已经一去不复返了。

因此,它必须是'department'“department”

其他错误也是如此。

事实上,它正在寻找名为departmentnameemailmessage等的常量。当它找不到这样的常量时,PHP(奇怪地)将其解释为字符串(“部门”等),但会对此发出警告。显然,如果您稍后定义了这样的常量,这很容易被破坏(尽管使用小写常量是不好的风格)。

关于php - PHP 错误消息 "Notice: Use of undefined constant"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23846920/

相关文章:

c - 数组的递归和

c++ - 如何声明一个函数数组?

php - 更新时 MySQL 语法错误

javascript - 循环遍历表并将特定单元格存储在数组中(如果选中行)

arrays - 哪种方式编写数组更好(CPU 成本)?

Swift:私有(private)常量与常量类型属性

c - 使用C获取字符串的子字符串

c++ - 为什么我要for(auto&it:myUnorderedMap){…= std::move(it.second)}时会得到const引用?

javascript - 如何将事件类添加到菜单项

PHP - 如何插入 while 循环复选框并保存到 mysql