这对我在我的旧服务器上工作正常,但我已经转移到一个新的服务器与更新版本的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];
答案 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>";