0

我是drupal的新手,所以需要帮助。我正在尝试编写一个规则,它将在触发事件时运行PHP 代码。(它工作正常。事件被触发)

我创建了一个自定义内容类型。我在此内容类型中添加了一些内容。现在我正在尝试更新该PHP 代码中的这些内容,但是它不起作用。

我的查询如下,

$ctag = $ctag+1;

db_query("UPDATE {content_type_phone_user} SET field_puser_ctag_value=%d WHERE nid=%d", $ctag, $puser['nid']);

我注意到这里有些奇怪。

上面的代码第一次工作。但是,如果您再试一次,它不会更新表中的列。

但是,如果我以管理员身份登录,而不仅仅是单击此内容类型的保存按钮(不进行任何更改),并尝试再次运行此 PHP 脚本,数据库将被更新(但只工作一次,我每次都必须执行上述过程)

请帮帮我。

4

1 回答 1

0

终于找到答案了

无需编写查询,我们只需要加载我们尝试使用的更新节点

$node = node_load(nid);

比将新值设置为需要更新的列

$node->field_dm_puser_ctag[0]['value'] = $ctag;

比使用保存此节点

节点保存($节点);

这相当于更新查询。

万岁:)

于 2012-11-11T21:25:33.387 回答