我是Drupal的新手。 所以我想知道你是否可以帮助我。
我看到很多关于Drupal API mysql事情的文件,而且我一直在努力学习,我必须再次学习才能完成我的工作。
这是我正在应用于我的问题的文档
关于 INSERT 功能的问题,我将此表格命名为嵌入
这是我的数据来自表格嵌入。
然后在我的基本页上,我正在尝试插入查询。
$id = db_insert("embed")
->fields(array(
'uid' => 1,
'fbp_id' => 22222,
'prom_stat' => 3333,
'status' => 1,
))
->execute();
它不会向表中插入数据,而是输出这样的错误。
有人知道这个东西的解决方案吗?我现在真的很困惑。
答案 0 :(得分:2)
正如@steve在评论中建议的那样,问题不是在drupal方面,而是在MySql方面。您需要将插入代码修改为
$id = db_insert("embed")
->fields(array(
'uid' => 1,
'fbp_id' => 22222,
'prom_stat' => 3333,
'status' => 1,
'prom_id' => 0,
'sweep_stat' => 0,
'sweep_id' => 0,
'comp_id' => 0,
'comp_stat' => 0,
'polls_stat' => 0,
'polls_id' => 0
))
->execute();
由于我可以看到你的MySql表已经包含了值,我假设先前的插入是通过显式提供所有值完成的,而不是依赖于MySql配置中字段的默认值。
每当你有一个PDOException时,你应该仔细阅读它以获取线索。这些错误实际上是非常口头的,并提供了许多解决问题的指针。例如,在你的情况下,
'prom_id'没有默认值
解释了很多。