无法将记录添加到数据库

时间:2013-05-13 14:18:04

标签: php mysql database syntax-error add

我坐了大约2个小时的代码,我仍然不知道为什么它不起作用。检查一下:

mysql_query("INSERT INTO newsy (tytul, skrot, opis, cena, opinia, galeria, data_utw, extra, kategoria, wartosc_extra, jednostka, stan_magazynowy) VALUES ($tytul, $autor, $skrot, $opis, $data, $extra, $kategoria, $wartosc_extra, $jednostka, $stan_magazynowy)");

每个变量都是正确传递的,我可以用echo检查所有变量,所以问题在这里,但我不确切知道在哪里。谢谢你的帮助

4 个答案:

答案 0 :(得分:0)

您可能正在插入字符串,并且忘记引用它们,例如

INSERT INTO newsy (tytul, ...) VALUES ('$tytul', ....)
                                       ^--    ^---

假设您正在使用已弃用的mysql _ *()函数,如果您对查询进行了任何类型的错误处理,您会注意到这一点:

$result = mysql_query($sql) or die(mysql_error());
                           ^^^^^^^^^^^^^^^^^^^^^^

答案 1 :(得分:0)

您的变量周围缺少引号,请更改为

mysql_query("INSERT INTO newsy (tytul, skrot, opis, cena, opinia, galeria, data_utw, extra, kategoria, wartosc_extra, jednostka, stan_magazynowy) VALUES ( '".$tytul."',  '".$autor."',  '". $skrot."',  '".$opis."',  '".$data."',  '".$extra."',  '".$kategoria."',  '".$wartosc_extra."',  '".$jednostka."', '". $stan_magazynowy."')");

无论如何,查询都会失败,因为要插入12个字段和10个变量

然后我希望您记住mysql_*函数已被弃用,因此我建议您切换为mysqliPDO

答案 2 :(得分:0)

好像你有12列(tytul,skrot,opis,cena,opinia,galeria,data_utw,extra,kategoria,wartosc_extra,jednostka,stan_magazynowy),你试图只插入10个值。

答案 3 :(得分:0)

首先传递12值而不是10 和单引号(')的环绕值,如'$ tytul'