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(); ?>