我有一个自定义的nodapi函数,用于在插入一种内容类型时执行其他操作。但是,我发生了以下错误“在第3538行的test1 \ includes \ common.inc中发出警告”。我已将这种情况多次追踪到编码问题,但我不知道如何解决这个问题。
然而,即使查询失败,我还没有得到什么,nodeapi仍然被调用,我得到一个空白的nid。这也会导致其他插入失败,因为nid和vid为0或null。
我知道导致的问题是编码,但是我不明白为什么如果节点插入(我相信)失败并且没有生成nid或vid,Drupal仍会运行nodeapi。
任何帮助都将不胜感激。
格雷格。
答案 0 :(得分:0)
看看node_save
。 Drupal运行查询但不检查查询的结果。因此hook_nodeapi
无论节点实际上是否保存在数据库中。
Drupal可以检查查询的结果,但这样做会带来很大的开销,这个问题只能由不正确的数据库设置引起。 Drupal需要适当的数据库设置,就像需要Web服务器和PHP一样。检查这些系统是否正常运行不应该是Drupal的工作。