提问人:XTF 提问时间:3/7/2021 最后编辑:DharmanXTF 更新时间:3/7/2021 访问量:72
如何解构行mysqli_result
How to destructure mysqli_result row
问:
如何从mysqli_result中解构一行? 此模式适用于 PDO,但我希望能够将其与 mysqli 一起使用。
<?php
$mysqli = new mysqli('', 'pdo', '123', 'pdo');
foreach ($mysqli->query("select uid, name from users") as [$uid, $name])
print("$uid: $name\n");
// PHP Warning: Undefined array key 0 on line 3
// PHP Warning: Undefined array key 1 on line 3
答:
1赞
Dharman
3/7/2021
#1
您只能使用关联数组进行迭代。mysqli_result
foreach ($mysqli->query("select uid, name from users") as ['uid' => $uid, 'name' => $name]) {
print "$uid: $name\n";
}
但是,我建议使用 which 将所有内容提取到数组中,即使使用数字键也是如此。fetch_all()
$result = $mysqli->query("select uid, name from users")->fetch_all(MYSQLI_NUM);
foreach ($result as [$uid, $name]) {
print "$uid: $name\n";
}
评论
0赞
XTF
3/20/2021
fetch_all()
是次优的,特别是对于较大的结果,但它似乎是唯一支持的方式。
评论
$mysqli->query()
返回一个布尔值。