gpt4 book ai didi

php - 在 Phinx 中编写数据迁移时如何转义字符串?

转载 作者:可可西里 更新时间:2023-11-01 13:52:39 26 4
gpt4 key购买 nike

我在迁移中使用可能包含特殊字符的字符串进行了一些简单的更新。例如:

$this->execute("UPDATE `setting` SET `classname` = 'org\foo\Bar' WHERE `id` = 1 ");

这个问题例如,org\foo\Bar 在插入 MySQL 时将 \ 视为转义字符。对于 phinx 支持的每个数据库,我确信有一些特殊字符需要在字符串中处理,当直接使用 PDO 时,你可以通过使用准备好的语句来解决这些问题,绑定(bind)参数。

phinx 中是否有任何 native 方法来转义字符串,或者我是否需要求助于 PDO::quote() 之类的方法?

最佳答案

正如 Charlotte 的 OP 评论中提到的那样,这个功能看起来并不存在。解决方法如下:

  1. 获取 PDO 连接
  2. 使用quote() 或直接使用连接手动构建查询

这是我使用 quote()

的代码示例
public function change()
{
$conn = $this->getAdapter()->getConnection();
$quotedString = $conn->quote('org\foo\Bar');
$this->execute("UPDATE `setting` SET `classname` = $quotedString WHERE `id` = 1 ");
}

关于php - 在 Phinx 中编写数据迁移时如何转义字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36697833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com