Php 未定义常数

Php 未定义常数,php,constants,Php,Constants,这在我的旧服务器上运行得很好,但我已经转移到一个新服务器,使用了更新版本的php,我得到了以下错误 注意:使用未定义的常量company\u name-在中假定为“company\u name” 如何在下面的代码中将结果定义为常量 $q1 = mysql_query("SELECT company_name FROM company"); print "<ul class='mktree'>"; //open list1 while($nt=mysql_fetch_array($q1

这在我的旧服务器上运行得很好,但我已经转移到一个新服务器,使用了更新版本的php,我得到了以下错误

注意:使用未定义的常量company\u name-在中假定为“company\u 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];
$q1=mysql\u查询(“从公司中选择公司名称”);
打印“
    ”//打开列表1 而($nt=mysql\u fetch\u数组($q1)){ 打印“
  • 公司-$nt[公司名称]
  • ”; $comp=$nt[公司名称];
您应该引用数组键。所以

$nt[公司名称]
必须是
$nt[公司名称]


如果不带引号使用它,它将查找名为company_name的常量。如果找不到这样一个常量,PHP(奇怪地)将其解释为字符串(“company_name”)。显然,如果以后定义了这样一个常量,这很容易被打破(尽管使用小写常量是不好的风格).

您必须引用索引名称

$nt['company_name']

或者,
company\u name
将是一个未定义的常量,php将假定该值为
'company\u name'
,然后触发一个通知。

您在
print$nt[company\u name]
$comp=$nt[company\u name];

试一试

print "<li><span>Company - $nt['company_name']</span></li>";
$comp = $nt[company_name];
打印“
  • 公司-$nt['Company_name']
  • ”; $comp=$nt[公司名称];
    此外,如果要回显$nt[公司名称]的值,则必须附加如下值:

    print "<li><span>Company - ".$nt['company_name']."</span></li>";
    
    打印“
  • 公司-”$nt[“公司名称]”
  • ”;
    当您更新代码时,请删除
    mysql.*
    函数。这些函数现在已被弃用,将从更高版本的PHP中删除,这会进一步引起麻烦。您将想看看MySQLi或PDO。