首页 文章

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法

提问于
浏览
2

我在db中插入图像时遇到问题,错误信息是:

查询无效:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行'VALUES('','$ _ 59.jpg',' '附近使用正确的语法

查询是:

$insert=mysql_query("INSERT INTO store VALUES(id,name,image)VALUES('','$image_name','$image')") or die("Invalid query: " . mysql_error());

我正在使用xamppv3.2.1,Apache / 2.4.10(Win32)OpenSSL / 1.0.1i PHP / 5.6.3,服务器版本:5.6.21 - MySQL社区服务器(GPL) .

2 回答

  • 2

    你有一个错误的 VALUES 关键字:

    $insert=mysql_query("INSERT INTO store (id,name,image) VALUES ('','$image_name','$image')") or die("Invalid query: " . mysql_error());
    

    仅供参考,如果您的 id 列设置为自动增量,则无需在查询中使用它:

    $insert=mysql_query("INSERT INTO store (name,image) VALUES ('$image_name','$image')") or die("Invalid query: " . mysql_error());
    

    请不要在新代码中使用 mysql_* 函数](http://bit.ly/phpmsql) . 他们不再维持and are officially deprecated . 见red box?请转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个 . 如果选择PDO,here is a good tutorial .

  • 4

    修改您的查询,您错误地使用VALUES关键字 . 将其修改为:

    INSERT INTO store (id,name,image) VALUES('','$image_name','$image')
    

    我怀疑你的id是VARCHAR类型 . 如果是INT类型,那么在那里放一些整数值 .

    INSERT INTO store (id,name,image) VALUES(1,'$image_name','$image')
    

    如果您的id是自动递增,请让db插入它

    INSERT INTO store (name,image) VALUES('$image_name','$image')
    

相关问题