即使查询失败,节点插入仍继续调用nodeapi

发布于 2024-10-18 08:37:16 字数 333 浏览 0 评论 0原文

我有一个自定义 nodapi 函数,用于在插入某种内容类型时执行其他操作。但是,我发生了以下错误“第 3538 行 test1\includes\common.inc 中出现警告。”。我已经多次追踪到这是一个编码问题,但我不知道如何解决这个问题。

然而,我没有得到的是,即使查询失败,nodeapi 仍然被调用,并且我得到一个空白的 nid。这也会导致其他插入失败,因为 nid 和 vid 为 0 或 null。

我知道引起问题的是编码,但我不明白为什么如果节点插入(我相信)失败并且没有生成 nid 或 vid,Drupal 仍然运行 nodeapi。

任何帮助将不胜感激。

格雷格.

I have a custom nodapi function for performing additional opporations when a type of content type is inserted. However, I've had the following error occur "Warning in test1\includes\common.inc on line 3538.". I've tracked this down several times to being an encoding issue, and I'm not sure how to resolve that though.

However, what I don't get is even though the query fails, nodeapi still gets called and I get a blank nid. This also causes other inserts to fail because nid and vid are 0 or null.

I understand that the causing issue is the encoding, but I don't understand why Drupal still runs nodeapi if the node insert (I believe) is failing and no nid or vid is produced.

Any help would be appreciated.

Greg.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花想c 2024-10-25 08:37:16

看看 node_save< /代码>。 Drupal 运行查询但不检查查询结果。所以hook_nodeapi不管节点实际上是保存在数据库中的。

Drupal 可以检查查询的结果,但这样做会带来很大的开销,导致问题只能由不正确的数据库设置引起。 Drupal 需要正确的数据库设置,就像它需要网络服务器和 PHP 一样。检查这些系统是否正常运行不应该是 Drupal 的工作。

Take a look at node_save. Drupal runs the queries but doesn't check the result of the queries. So hook_nodeapi regardless of the node is actually saved in the database.

Drupal could check the result of the query, but doing so would bring to much overhead, to a problem that only could be caused by incorrect database setup. Drupal requires a proper database setup, like it requires a webserver and PHP. It shouldn't be Drupal's job to check that these systems function properly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文