函数名称:mysqli::stmt_init()
函数描述:创建一个新的预处理语句对象
适用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8
语法:mysqli_stmt mysqli::stmt_init ( void )
说明: mysqli::stmt_init() 函数用于创建一个新的预处理语句对象,该对象可用于执行一条或多条 SQL 语句。
参数: 此函数不接受任何参数。
返回值: 成功时,返回一个 mysqli_stmt 对象,用于后续的预处理操作。 失败时,返回 false。
示例:
stmt_init(); if ($stmt) { // 成功创建预处理语句对象 // 准备预处理语句 $query = "SELECT * FROM users WHERE id = ?"; if ($stmt->prepare($query)) { // 成功准备预处理语句 // 绑定参数 $id = 1; $stmt->bind_param("i", $id); // 执行预处理语句 $stmt->execute(); // 获取结果集 $result = $stmt->get_result(); // 处理结果集 while ($row = $result->fetch_assoc()) { // 输出每一行数据 echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ""; } // 关闭结果集 $result->close(); // 关闭预处理语句 $stmt->close(); } else { // 准备预处理语句失败 echo "Prepare statement failed."; } } else { // 创建预处理语句对象失败 echo "Failed to create statement object."; } // 关闭数据库连接 $mysqli->close(); ?>
以上示例演示了如何使用 mysqli::stmt_init() 函数创建一个新的预处理语句对象,并使用该对象执行一条带参数的查询语句。首先,我们使用 stmt_init() 创建一个预处理语句对象 $stmt,然后使用 prepare() 方法准备预处理语句,使用 bind_param() 方法绑定参数,使用 execute() 方法执行预处理语句,最后使用 get_result() 方法获取结果集并进行处理。注意,此示例假设已经建立了与数据库的连接,并使用 $mysqli 变量表示 mysqli 对象。