未定义的常量

时间:2014-04-29 09:17:33

标签: php constants

这对我在我的旧服务器上工作正常,但我已经转移到一个新的服务器与更新版本的PHP,我收到以下错误

注意:使用未定义的常量company_name - 在

中假定为'company_name'

如何在下面的代码中将结果定义为常量?

$q1 = mysql_query("SELECT company_name FROM company");
print "<ul class='mktree'>"; //open list1
while($nt=mysql_fetch_array($q1)){
print "<li><span>Company - $nt[company_name]</span></li>";
$comp = $nt[company_name];

3 个答案:

答案 0 :(得分:2)

你应该引用你的数组键。所以

$nt[company_name]必须为$nt['company_name']

当你在没有引号的情况下使用它时,它会查找名为company_name的常量。当它没有找到这样的常量时,PHP(奇怪)将其解释为字符串('company_name')。显然,如果你稍后定义了这样的常量,这很容易破坏(虽然使用小写常量是不好的风格)。

答案 1 :(得分:0)

您必须引用索引名称。

$nt['company_name']

company_name将是一个未定义的常量,php将假定值为'company_name',然后触发通知。

答案 2 :(得分:0)

您错过了print $nt[company_name]$comp = $nt[company_name];

中的引号

尝试

print "<li><span>Company - $nt['company_name']</span></li>";
$comp = $nt[company_name];

另外,如果你想回显$ nt [company_name]的值,你必须附加如下值:

print "<li><span>Company - ".$nt['company_name']."</span></li>";