MySQL抛出错误但正常工作-PhpMyAdmin无错误
我在我的MySQL数据库上运行这个查询——使用MySQL_查询,它会抛出一个错误,但是数据仍然正确地插入到表中。如果我在PhpMyAdmin中输入它,它将正常工作MySQL抛出错误但正常工作-PhpMyAdmin无错误,php,mysql,Php,Mysql,我在我的MySQL数据库上运行这个查询——使用MySQL_查询,它会抛出一个错误,但是数据仍然正确地插入到表中。如果我在PhpMyAdmin中输入它,它将正常工作 INSERT INTO `kommentare` VALUES(NULL,'1','MyName','MyEmail','MyText','2014-08-05'); PHP: 错误: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法 这怎么可能?我对MySQL很有经验,但这会伤我的
INSERT INTO `kommentare` VALUES(NULL,'1','MyName','MyEmail','MyText','2014-08-05');
PHP:
错误:
您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法
这怎么可能?我对MySQL很有经验,但这会伤我的神经-它能工作,但说不行
更新:
当表中有多个条目时,就会发生这种情况。即使我删除了所有的“它给了我同样的错误,说我应该在“附近检查,如果第一列是自动递增的主键,你不传递它
NULL
,你传递它DEFAULT
:
INSERT INTO kommentare VALUES
(DEFAULT,'$reiseid','$name','$email','$kommentar','$datum');
但实际上,您应该命名您的列,并跳过那些您没有值的列:
INSERT INTO kommentare
(reiseid, name, email, kommentar, datum)
VALUES
('$reiseid','$name','$email','$kommentar','$datum');
解决方案:
由于某种原因,我的id不是作为1传递的,而是作为1/传递的。这导致MySQL崩溃,尽管它没有显示给我。我现在用“”替换了/并且一切正常 可能在查询字符串的开头有隐藏的特殊字符?请尝试手动输入,而不是复制粘贴。不,没有:(@Liam Schnell您的字段
NULL
是id
?主键和自动增量?看起来您在kommentare
周围使用反勾号,而不是单引号()
)这是因为您的查询跨越多行。这不是一个真正的解决方案,因为我们不知道为什么该值会出现在查询中,也不知道如何正确地避免它,更不用说您特别说过您有一行代码$reiseid=str_replace(“/”,“,$reiseid))当问题开始时。我怀疑当问题“出于某种原因”再次出现时,你会遇到更多的问题和挫折
INSERT INTO kommentare
(reiseid, name, email, kommentar, datum)
VALUES
('$reiseid','$name','$email','$kommentar','$datum');