gpt4 book ai didi

php - 有没有办法在 php 的一次调用中发送多个 postgresql sql 准备语句?

转载 作者:行者123 更新时间:2023-11-29 13:37:52 24 4
gpt4 key购买 nike

有没有办法一次执行更多的sql准备语句?或者至少使用一些东西来实现这个结果,它可以用交易来模拟吗?

pg_send_query 可以执行更多语句(来自 php 文档“The SQL statement or statements to be executed.”)但pg_send_execute 和 pg_send_prepare 只能使用一个语句。

查询参数有如下描述

“参数化的 SQL 语句。必须只包含一个语句。(不允许用分号分隔多个语句。)如果使用任何参数,它们被称为 $1、$2 等。”

来自 http://www.php.net/manual/en/function.pg-send-prepare.php

有没有办法像 pg_send_query 那样一次发送更多的语句来减少 php 和 postgresql 之间的往返?

我不想使用 pg_send_query,因为如果没有参数绑定(bind),我的代码中可能存在 sql 注入(inject)漏洞。

最佳答案

只要您 (a) 使用持久连接(直接或通过池)并且 (b) 不受“n+1 选择"问题。

新连接有一个数量级的开销,如果在每个查询上都完成,这会减慢速度。如果应用程序检索(或操作)相关行集而不是一次执行所有操作,则 n+1 问题会导致产生比实际需要更多的行程。

参见:What is the n+1 selects problem?

关于php - 有没有办法在 php 的一次调用中发送多个 postgresql sql 准备语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3937832/

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