{site_name}

{site_name}

🌜 搜索

mysqli_prepare()是PHP中用于执行预处理语句的函数,它可以防止SQL注入攻击,并提高查询效率

php 𝄐 0
php mysqli_prepare
mysqli_prepare()是PHP中用于执行预处理语句的函数,它可以防止SQL注入攻击,并提高查询效率。预处理语句将查询和参数分开,使得查询可以多次重复使用,只需改变参数即可。

函数原型如下:

mysqli_prepare ( mysqli $link , string $query ) : mysqli_stmt


其中,$link 是连接对象mysqli实例,$query 是需要预处理的SQL语句,返回值是一个mysqli_stmt对象,表示预处理语句。

以下是一个简单的使用mysqli_prepare()函数的例子:


// 连接数据库
$link = mysqli_connect("localhost", "my_user", "my_password", "my_database");

// 准备预处理语句
$stmt = mysqli_prepare($link, "SELECT * FROM users WHERE username=? AND password=?");

// 绑定参数
mysqli_stmt_bind_param($stmt, 'ss', $username, $password);

// 设置参数值
$username = 'John';
$password = '123456';

// 执行查询
mysqli_stmt_execute($stmt);

// 获取结果
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
// 处理结果
}

// 关闭预处理语句和数据库连接
mysqli_stmt_close($stmt);
mysqli_close($link);


以上代码创建了一个连接对象,然后准备了一个预处理语句,绑定了两个参数,设置了参数值,最后执行查询并获取结果。在绑定参数时,'ss' 表示两个参数都是字符串类型。