mysqli::execute_query
(mysqli_execute_query)Prepares, binds parameters, and executes SQL statement
适用PHP版本(PHP 8 >= 8.2.0)
说明
面向对象风格
public mysqli::execute_query(string $query, ?array $params = null): mysqli_result|bool
过程化风格
mysqli_execute_query(mysqli $mysql, string $query, ?array $params = null): mysqli_result|bool
准备SQL查询、绑定参数并执行查询。mysqli::execute_query()方法是mysqli::prepare()、mysqli_stmt::bind_param()、mysqli_stmt::execute()和mysqli_stmt::get_result()的快捷方式。注意
如果传递给mysqli_execute_query()的语句比服务器的max_allowed_packet长,则返回的错误码会根据操作系统的不同而不同。其行为如下:
在Linux上返回错误码1153。错误消息意味着得到的数据包大于max_allowed_packet字节。
在Windows上返回错误代码2006。此错误信息表示服务器已消失。
参数
mysql
仅以过程化样式:由 mysqli_connect() 或 mysqli_init() 返回的 mysqli 对象。
query
查询,作为字符串。它必须由单个SQL语句组成。
SQL语句可以在适当位置包含零个或多个由问号(?)字符表示的参数标记。
注意:
这些标记仅在SQL语句中的某些地方是合法的。例如,在INSERT语句的VALUES()列表中允许使用它们(为一行指定列值),或者在与WHERE子句中的列进行比较时允许使用它们来指定比较值。但是,它们不允许用于标识符(如表或列名)。
params
一个可选的列表数组,其中的元素数量与正在执行的SQL语句中的绑定参数数量一样多。每个值都被视为字符串。