mysqli_stmt::prepare
(mysqli_stmt_prepare)准备一条SQL语句以便执行
PHP 5.0.0 及以上版本
mysqli_stmt::prepare 函数用于预处理 SQL 语句。通过预处理语句,可以提高性能并防止 SQL 注入攻击。此函数将 SQL 语句与参数绑定过程分离,优化了查询执行过程,并增加了查询的安全性。
mysqli_stmt::prepare ( string $query ) : mysqli_stmt
成功时,返回一个 mysqli_stmt 对象;失败时,返回 false。
以下是使用 mysqli_stmt::prepare 函数的示例代码:
示例说明:此示例展示了如何使用 mysqli_stmt::prepare 预处理一条查询语句并绑定参数执行查询。
<?php
// 创建连接
$mysqli = new mysqli("localhost", "user", "password", "database");
// 检查连接是否成功
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
// 准备 SQL 语句
$stmt = $mysqli->prepare("SELECT id, name FROM users WHERE email = ?");
// 绑定参数
$email = "[email protected]";
$stmt->bind_param("s", $email); // "s" 表示字符串类型
// 执行查询
$stmt->execute();
// 获取查询结果
$stmt->bind_result($id, $name);
// 输出结果
while ($stmt->fetch()) {
echo "ID: $id, Name: $name\n";
}
// 关闭语句和连接
$stmt->close();
$mysqli->close();
?>