我在 postgres pg_log 目录中的 .log 文件中看到一堆行,内容如下:
错误:准备好的语句“pdo_pgsql_stmt_09e097f4”不存在
什么是准备好的语句,什么类型的事情会导致显示这些错误消息?
来自文档:
准备好的语句是服务器端的 可用于优化的对象 表现。当准备 语句执行后,指定 语句被解析、重写,并且 计划。当 EXECUTE 命令是 随后发布了准备好的 语句只需要被执行。因此, 解析、重写和规划 阶段仅执行一次, 而不是每次声明时 被处决。
在网上搜索,我发现“pdo_pgsql_stmt”命令来自某种与数据库的PHP连接。也许此链接可以帮助您找到合适的邮件列表或问题跟踪器,您可以将错误消息发送到其中?
编辑:我想我在这里找到了你的错误:
http://bugs.php.net/bug.php?id=37870
可以创建一个准备好的命名语句(查询),以便稍后使用 EXECUTE 语句运行它。 *由
PREPARE
可以有SELECT、INSERT、UPDATE、DELETE等
可以有零个或多个仅类型参数。
可以具有纯类型参数的别名,例如
$1
$2
不能有多个语句(查询),否则会出错。
不能有命名参数,例如
num1 INT
num2 INT
*我的帖子详细解释了