我经常喜欢将结果以数组的形式发送到其他地方(尽管请记住,如果您只是计划在脚本的其他部分遍历数组,那么此额外步骤只是浪费时间)。
这是将 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
)
)