当我尝试使用此代码时:

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);

10-06 05:25