我可以在 PHP/PDO 中使用 PostgreSQL 简单查询模式吗?

Posted

技术标签:

【中文标题】我可以在 PHP/PDO 中使用 PostgreSQL 简单查询模式吗?【英文标题】:Can I use the PostgreSQL simple query mode with PHP/PDO? 【发布时间】:2021-12-23 04:23:06 【问题描述】:

Postgres 同时支持simple and extended“查询模式”。

使用 JDBC,我可以使用 preferQueryMode=simple 来强制驱动程序在发出查询时使用简单模式。

我怎样才能对 PDO 和 php 中的 PDO_PGSQL 扩展做同样的事情?我当前正在查询的服务器(一个 PgBouncer 实例,用于检索统计信息)确实支持扩展模式查询,并且我的所有查询(通过 Symfony/Doctrine 发出)都失败并出现 ERROR: unsupported pkt type: 80 错误。

【问题讨论】:

【参考方案1】:

设置PDO::ATTR_EMULATE_PREPARES 标志启用足以防止发出扩展模式查询,似乎。

在 Symfony 中,您可以通过在相关连接下的 Doctrine YAML 配置中添加一个选项来做到这一点:

  options:
    20: true

【讨论】:

以上是关于我可以在 PHP/PDO 中使用 PostgreSQL 简单查询模式吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP (PDO) 中了解 MySQL 的内存使用情况

PHP,PDO,SQLite INNER JOIN语句和变量

PHP PDO 与普通 mysql_connect

php pdo学习笔记

关于更新事务的 PHP PDO 选择的说明

PHP PDO 清理用户输入