get_result return 对象

get_result return object

为什么在这个例子中 get_result return 对象?

function db_connect() {
    $db_host='localhost';
    $db_name='contact_manager';
    $db_user='root';
    $db_pass='';

    $connection = new mysqli($db_host, $db_user, $db_pass, $db_name);
    return $connection;
} 

$connection = db_connect();
$query = $connection->prepare("SELECT * FROM users");
$query->execute();
$op = $query->get_result();
var_dump($op);

这是 vardump:

object(mysqli_result)#3 (5) {
["current_field"]=> int(0) 
["field_count"]=> int(4) 
["lengths"]=> NULL 
["num_rows"]=> int(24) 
["type"]=> int(0) } 

根据官方文档 (here),get_result() returns resultset 用于成功的 SELECT 查询。接下来您必须从结果集中提取数据,例如使用 $result->fetch_assoc():

while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
    echo $row['user_id'];
}