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

mysqli_stmt

mysqli_stmt类
名称:mysqli_stmt
分类:MySQLi
所属语言:php
一句话介绍:mysqli_stmt类

mysqli_stmt

函数名

mysqli_stmt

适用 PHP 版本

PHP 5, PHP 7, PHP 8

函数说明

mysqli_stmt 并不是一个独立的函数,而是指一组与 MySQLi 预处理语句相关的函数。这些函数用于准备、绑定参数、执行以及获取预处理语句的结果。预处理语句提高了执行 SQL 的安全性和效率,特别适用于防止 SQL 注入攻击。

函数语法

以下是创建预处理语句的语法:

mysqli_stmt mysqli_prepare(mysqli $mysql, string $query)

参数

  • mysqli $mysql:一个由 mysqli_connect()mysqli_init() 返回的数据库连接对象。
  • string $query:准备执行的 SQL 查询语句,其中的参数使用问号 (?) 占位。

返回值

成功时返回一个 mysqli_stmt 对象,失败时返回 false

示例

<?php
$mysqli = new mysqli("localhost", "user", "password", "testdb");
<p>if ($mysqli->connect_error) {<br>
die("连接失败: " . $mysqli->connect_error);<br>
}</p>
<p>$stmt = mysqli_prepare($mysqli, "SELECT name FROM users WHERE id = ?");<br>
if ($stmt) {<br>
mysqli_stmt_bind_param($stmt, "i", $userId);<br>
$userId = 1;<br>
mysqli_stmt_execute($stmt);<br>
mysqli_stmt_bind_result($stmt, $name);<br>
while (mysqli_stmt_fetch($stmt)) {<br>
echo "用户名: " . $name;<br>
}<br>
mysqli_stmt_close($stmt);<br>
} else {<br>
echo "预处理失败: " . mysqli_error($mysqli);<br>
}</p>
<p>$mysqli->close();<br>
?><br>

示例代码的说明

本示例连接到 MySQL 数据库后,使用 mysqli_prepare() 创建了一个预处理语句,用于查询用户 ID 为 1 的用户名。通过 mysqli_stmt_bind_param() 绑定参数后,使用 mysqli_stmt_execute() 执行查询,并使用 mysqli_stmt_bind_result()mysqli_stmt_fetch() 获取结果。最后关闭语句与数据库连接。

同类函数
热门文章