0

我用这段代码坐了大约 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)");

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

4

4 回答 4

0

首先传递 12 值而不是 10 并用单引号(')包围值,例如 '$tytul'

于 2013-05-13T14:45:22.583 回答
0

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

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

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

$result = mysql_query($sql) or die(mysql_error());
                           ^^^^^^^^^^^^^^^^^^^^^^
于 2013-05-13T14:20:32.353 回答
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

于 2013-05-13T14:21:29.947 回答
0

似乎您在 (tytul, skrot, opis, cena, opinia, galeria, data_utw, extra, kategoria, wartosc_extra, jednostka, stan_magazynowy) 中有 12 列,并且您尝试仅插入 10 个值。

于 2013-05-13T14:22:10.267 回答