我经常喜欢以数组的形式将结果发送到其他地方(但请记住,如果您只是计划在脚本的另一个部分遍历数组,则此额外步骤只是浪费时间)。
这是我将 mysqli_result 集转换为数组的一行代码。
<?php
$sql = new MySQLi($host, $username, $password, $database);
$result = $sql->query("SELECT * FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row);
print_r($set);
?>
输出
数组
(
[0] => 数组
(
[id] => 1
[field2] => a
[field3] => b
),
[1] => 数组
(
[id] => 2
[field2] => c
[field3] => d
)
)
我使用其他变体来适应情况,即如果我只选择一个字段
<?php
$sql = new MySQLi($host, $username, $password, $database);
$result = $sql->query("SELECT `field2` FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row['field2']);
print_r($set);
?>
输出
数组
(
[0] => a
[1] => c
)
或者,使数组与主键关联(代码假设主键是表中的第一个字段)
<?php
$sql = new MySQLi($host, $username, $password, $database);
$result = $sql->query("SELECT * FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[array_shift($row)] = $row);
print_r($set);
?>
输出
数组
(
[1] => 数组
(
[field2] => a
[field3] => b
),
[2] => 数组
(
[field2] => c
[field3] => d
)
)