mysqli::execute_query
(mysqli_execute_query)Prepares, binds parameters, and executes SQL statement
mysqli::execute_query
PHP 8.2.0 及以上版本
mysqli::execute_query 是在 PHP 8.2 中引入的一个方法,用于执行预处理的 SQL 查询,结合参数绑定来增强安全性和代码可读性。该方法内部会自动处理参数的准备和绑定,从而简化使用 prepare 和 bind_param 的流程。
mysqli::execute_query(string $query, array $params = []): mysqli_result|bool
如果查询成功并且是 SELECT 类型的查询,则返回一个 mysqli_result 对象;如果是非 SELECT 类型的查询(如 INSERT、UPDATE、DELETE),则返回布尔值 true。如果出错,返回 false。
$mysqli = new mysqli("localhost", "user", "password", "database"); <p>$query = "SELECT * FROM users WHERE email = ?";<br> $email = "<a class="cursor-pointer" rel="noopener">[email protected]</a>";</p> <p>$result = $mysqli->execute_query($query, [$email]);</p> <p>if ($result instanceof mysqli_result) {<br> while ($row = $result->fetch_assoc()) {<br> print_r($row);<br> }<br> } else {<br> echo "查询失败:" . $mysqli->error;<br> }<br>
本示例连接到名为 database 的 MySQL 数据库,并执行一个预处理的 SELECT 查询,查找 email 字段为 [email protected] 的用户记录。使用 execute_query 方法可以避免手动准备语句和绑定参数,提高代码效率与安全性。