我收到了这个错误:
查询无效:您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以获得正确的语法 在第1行'INET_ATON('188.92.x.x')附近使用
尝试在数据库中插入IP地址时。列类型为:
'LastIP int(10)unsigned NOT NULL,'。
执行查询的功能是:
function onNewUser($ip, $hostname, $con)
{
$query = "INSERT INTO tableMachine (LastIP, LastHostName) VALUES ".
"INET_ATON('".mysql_real_escape_string($ip, $con)."'), ".
"'".mysql_real_escape_string($hostname, $con)."'";
$result= mysql_query($query, $con);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
}
我用参数调用此函数:
$ ip = $ _SERVER ['REMOTE_ADDR'];
$ hostname = @gethostbyaddr($ ip);
onNewUser($ ip,$ hostname,$ con);
它们有什么问题?
答案 0 :(得分:4)
您的值列表应该封装在括号内
答案 1 :(得分:0)
你应该试试这个:
$query = "INSERT INTO tableMachine (LastIP, LastHostName) VALUES (".
"INET_ATON('".mysql_real_escape_string($ip, $con)."'), ".
"'".mysql_real_escape_string($hostname, $con)."')";
我只需为VALUES(...)
另外,正如@Shamil所说,函数mysql_*
已被删除。您应该使用mysqli_*
This link来帮助您使用mysqli_*
函数。