繁体   English   中英

查询无效,在'INET_ATON('IP')'附近使用的语法

[英]Invalid query, syntax to use near 'INET_ATON ('IP')'

我收到此错误:

查询无效:您的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);

伙计们怎么了?

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

您应该尝试这样:

$query =    "INSERT INTO tableMachine (LastIP, LastHostName) VALUES (".
            "INET_ATON('".mysql_real_escape_string($ip, $con)."'), ".
            "'".mysql_real_escape_string($hostname, $con)."')";

我只为VALUES(...)添加括号

另外,正如@Shamil所说, mysql_*函数mysql_*被描述。 您应该使用mysqli_* 这个链接应该可以帮助您使用mysqli_*函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM