当我尝试使用此代码时:
function ipToCountry($ip){ $info = file_get_contents("http://who.is/whois-ip/ip-address/$ip");
list($a, $b) = explode('country: ', $info);
return substr($b,0,2);}
echo "" .ipToCountry($ip); // This works, it writes country from IP
但是当我尝试在那里使用时:
$sql = mysql_query("INSERT INTO `table`.`klikovi` (`id`, `reklamaid`, `ip`, `vrijeme`, `ok`, `country`) VALUES (NULL, '$id', '$ip', CURRENT_TIMESTAMP, '1', 'echo "" .ipToCountry($ip);');");
我收到错误消息:
PHP Parse error: syntax error, unexpected '.'
我试图删除“。”但是.ipToCountry根本不起作用...
你们能帮我吗?我如何在MySQL查询中编写国家/地区...
编辑:
我找到了答案,我用过:
$c = "" .ipToCountry($ip); echo $c;
现在我可以在MySQL查询中使用$ c了:)还是谢谢
最佳答案
基本上,您不能像这样将回显放在sql语句中。我将使用更多冗长的代码,这通常会使它更易于查看(尤其是在使用友好的IDE的情况下)
$theIPCountry = ipToCountry($ip);
$qry = "INSERT INTO `table`.`klikovi`
(`id`, `reklamaid`, `ip`, `vrijeme`, `ok`, `country`)
VALUES
(NULL, $id, $ip, CURRENT_TIMESTAMP, 1, $theIPCountry);"
$sql = mysql_query($qry);