在SQL中,通常返回的结果集是以行和列的形式组织的,而不是以数组的形式。mysqli_stmt
是 PHP 中用于处理预处理语句的一个扩展,它允许你执行 SQL 语句并获取结果。
mysqli_prepare
创建。无法从 SQL 返回数组,仅返回 mysqli_stmt
对象,通常是因为你没有正确地从 mysqli_stmt
对象中提取数据。
以下是一个示例代码,展示如何从 mysqli_stmt
对象中提取数据并将其转换为数组:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT id, name FROM users WHERE id = ?");
$stmt->bind_param("i", $userId);
$userId = 1;
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
print_r($rows);
} else {
echo "0 结果";
}
$stmt->close();
$mysqli->close();
?>
通过上述代码,你可以从 mysqli_stmt
对象中提取数据并将其存储在一个数组中。这样可以方便地处理和操作查询结果。
领取专属 10元无门槛券
手把手带您无忧上云