0

嗨,我有一段代码在我的服务器上使用了一段时间,但现在突然出现此错误:

使用未定义的常量国家 - 假定为“国家”

我已经阅读了之前的几篇文章,但是每次我尝试将这些更改应用于我的代码时都没有任何区别,所以我迷路了。错误指向此项目here

'{$ip[country]}'

任何建议将不胜感激,我已阅读有关添加引号的信息,但是当我将它们应用于此时,它没有任何区别。

这是我的插入查询,如果我把这个变量拿出来就可以了。

 INSERT INTO ip_stats (ip, time, hostname, page, referer, string, agent, member,   server_name, company_name, company_address) VALUES ('$ip', '$time', '$hostname', '$page1','$request_uri', '$query_string', '$http_user_agent', '$member', '$server_name', '$netname, '{$ip[$country]}')

这就是我生成变量的地方

  $country = implode( ", ", (array) $ip['country'] );
4

3 回答 3

0

尝试

INSERT .... '$netname', '" . $ip[country] . "')";

于 2012-09-26T00:21:04.030 回答
0

您需要将它放在双引号中才能扩展 {} 表达式

"{$ip[$country]}"

实际上,查看您的插入, $netname 缺少一个结束单引号

困惑时,只需使用常规字符串 concat

"INSERT ......... '$netname', '" . $ip[$country] . "')..."
于 2012-09-25T23:31:03.643 回答
0

或者$ip[$country]如果您想访问以变量 country 表示的键,而不是字符串 'country'

于 2012-09-25T23:05:59.463 回答