当前位置: 首页> 函数类别大全> mysqli::execute_query

mysqli::execute_query

(mysqli_execute_query)Prepares, binds parameters, and executes SQL statement
名称:mysqli::execute_query
分类:MySQLi
所属语言:php
一句话介绍: 查询,作为字符串。它必须由单个SQL语句组成。准备、绑定参数和执行SQL语句

适用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()的快捷方式。

语句模板可以包含零个或多个问号(?)参数标记-也称为占位符。参数值必须使用params parameter作为数组提供。

预处理语句是在底层创建的,但绝不会在函数外部公开。不可能像访问mysqli_stmt对象那样访问语句的属性。由于这个限制,状态信息被复制到mysqli对象中,并可以使用它的方法,例如mysqli_affected_rows()或mysqli_error()。

注意

如果传递给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语句中的绑定参数数量一样多。每个值都被视为字符串。

同类函数
热门文章