加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 更新或插入方法中的Doctrine 2 DBAL表达式

发布时间:2020-12-13 18:01:35 所属栏目:PHP教程 来源:网络整理
导读:我喜欢在doctrine 2 DBAL中数据操作查询$conn- insert()和$conn- update()的便捷方法,因为插入/更新值可以作为关联数组传递.但是我如何将NULL值,MySQL函数或其他表达式作为值传递? 例如: /* $conn is a DoctrineDBALConnection object */$conn-update('
我喜欢在doctrine 2 DBAL中数据操作查询$conn-> insert()和$conn-> update()的便捷方法,因为插入/更新值可以作为关联数组传递.但是我如何将NULL值,MySQL函数或其他表达式作为值传递?

例如:

/* $conn is a DoctrineDBALConnection object */
$conn->update('person',array('phone' => 'NULL'),array('id' => 1));
$conn->update('person',array('lastlogin' => 'NOW()'),array('visit' => 'visit + 1'),array('id' => 1));

这些函数调用会创建类似的预处理语句

UPDATE person SET phone = ? WHERE id = ?

因此值将被视为字符串.
有没有办法使用这种技术使这项工作?

有一个可选的$types参数,默认为空数组:
public function update($tableExpression,array $data,array $identifier,array $types = array())

$types数组可以包含PDO type constants,这将更改相应的$data值的处理方式.

所以我试试:

$conn->update(
    'person',// $tableExpression
    array('phone' => null),// $data
    array('id' => 1),// $identifier
    array('phone' => PDO::PARAM_NULL) // $types
);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读