【问题标题】:Failed to add record to database向数据库添加记录失败
【发布时间】:2013-05-13 14:18:03
【问题描述】:

我用这段代码坐了大约 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 检查所有变量,所以问题就在这里,但我不知道确切的位置。感谢您的帮助

【问题讨论】:

  • 你从 mysql 查询中得到什么错误?哦,标准的mysql_ 已被弃用,请使用mysqli_ 评论。
  • 只需检查数据类型....通常字符串和日期时间值介于“值”之间

标签: php mysql database syntax-error add


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您的变量周围缺少引号,请改成这个

      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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-04
          • 1970-01-01
          相关资源
          最近更新 更多