我在我的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很有经验,但是这会破坏我的神经 - 它可以工作,但是说它没有?!
更新:
当我在表格中有多个条目时,就会发生这种情况。即使我删除所有'它给了我同样的错误,说我应该检查'
附近答案 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崩溃,虽然它没有显示给我。我将/替换为""现在,一切正常!