在使用mysqli语句绑定时,无法直接从语句中输出绑定的变量。这是因为绑定是在执行查询之前将变量与查询语句关联起来,而不是在查询语句中直接使用变量。
要解决这个问题,可以使用mysqli_stmt类的get_result方法来获取绑定变量的结果。然后,可以使用fetch_assoc方法将结果转换为关联数组,并从中获取绑定变量的值。
下面是一个示例代码,展示了如何解决这个问题:
// 创建mysqli连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 准备查询语句
$query = "SELECT * FROM table WHERE column = ?";
// 绑定变量
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $variable); // 假设$variable是要绑定的变量
// 执行查询
$stmt->execute();
// 获取结果
$result = $stmt->get_result();
$row = $result->fetch_assoc();
// 输出绑定变量的值
echo $row['column']; // 假设'column'是要输出的列名
在上面的示例中,使用get_result方法获取查询结果并将其赋值给$result变量。然后,使用fetch_assoc方法从$result中获取一行数据,并将其赋值给$row变量。最后,可以通过$row数组来访问和输出绑定变量的值。
请注意,get_result方法只在mysqlnd驱动可用时才可用。如果你的环境中没有安装mysqlnd驱动,你可以使用bind_result方法来绑定结果变量,然后使用fetch方法来获取结果。这种方法会稍微复杂一些,但也可以实现相同的功能。
希望这个解决方法对你有帮助!