MySQL抛出错误但有效 - PhpMyAdmin没有错误

时间:2014-05-08 11:46:35

标签: php mysql

我在我的MySQL数据库上运行此查询 - 使用mysql_query它会抛出一个错误,但数据仍然正确地插入到表中。如果我在PhpMyAdmin中输入它,它可以正常工作。

INSERT INTO `kommentare` VALUES(NULL,'1','MyName','MyEmail','MyText','2014-08-05');

PHP:

$name = mysql_escape_string($name); 
$email = mysql_escape_string($email); 
$kommentar = mysql_escape_string($kommentar); 
$datum = mysql_escape_string($datum); 
$reiseid = str_replace("/", "", $reiseid); 
$query = "INSERT INTO kommentare VALUES(NULL,'" . $reiseid . "','" . $name . "','" . $email . "','" . $kommentar . "','" . $datum . "');";
$result = mysql_query($query) or die(mysql_error()); 
echo $query; 

错误:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法

怎么可能?我对MySQL很有经验,但是这会破坏我的神经 - 它可以工作,但是说它没有?!

更新:

当我在表格中有多个条目时,就会发生这种情况。即使我删除所有'它给了我同样的错误,说我应该检查'

附近

2 个答案:

答案 0 :(得分:0)

如果第一列是自动增量主键,则表示您未通过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');

答案 1 :(得分:0)

解决方案:

由于某些原因,我的身份证书不是1,而是1 /。这导致MySQL崩溃,虽然它没有显示给我。我将/替换为""现在,一切正常!