0

我收到此错误:

无效查询:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'INET_ATON('188.92.xx')' 附近使用正确的语法

尝试在数据库中插入 IP 地址时。列类型为:

'LastIP int(10) 无符号非空,'。

执行查询的函数是:

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

伙计们有什么问题?

4

2 回答 2

4

如果我没记错的话,你的值列表应该封装在括号内

于 2013-11-05T19:47:38.697 回答
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_*此链接应该可以帮助您使用这些mysqli_*功能。

于 2013-11-05T19:50:10.193 回答