Php SQL查询中的多维数组
我有一个多维数组,我正试图从SQL查询中构建它。在内部数组中添加Php SQL查询中的多维数组,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一个多维数组,我正试图从SQL查询中构建它。在内部数组中添加id时遇到问题 代码: 当前,该阵列看起来像: Array ( [0] => Array ( [name] => 411.ca ) [1] => Array ( [name] => AutoMD ) 我需要阵列如下所示: Array ( [0] => Array ( [id] => 4 [n
id
时遇到问题
代码:
当前,该阵列看起来像:
Array
(
[0] => Array
(
[name] => 411.ca
)
[1] => Array
(
[name] => AutoMD
)
我需要阵列如下所示:
Array
(
[0] => Array
(
[id] => 4
[name] => 411.ca
)
[1] => Array
(
[id] => 9
[name] => AutoMD
)
您在查询中只选择了
id
和name
,因此,在循环中:
while ($row = mysql_fetch_assoc($result)) {
$names[] = $row;
}
或者简单地说:
while ($names[] = mysql_fetch_assoc($result)) {}
请注意,mysql\u fetch\u assoc()
仅返回关联数组mysql\u fetch\u array()
返回一个关联数组和数字索引数组
此外:
从PHP5.5.0开始,此扩展已被弃用,并将在中删除
未来。相反,应该使用MySQLi或PDO_MySQL扩展。
有关更多信息,请参见MySQL:选择API指南和相关常见问题解答
信息。此功能的替代方案包括:
mysqli_fetch_array()语句::fetch()
如果要使用扩展,则可以使用:
$names = mysqli_fetch_all($result, MYSQLI_ASSOC);
欢迎来到堆栈溢出!虽然此代码可能有助于解决问题,但它没有解释为什么和/或如何回答问题。提供这种额外的环境将大大提高其长期价值。请在回答中添加解释,包括适用的限制和假设。
$names = mysqli_fetch_all($result, MYSQLI_ASSOC);
$checkboxes = "SELECT id, name FROM review_sites WHERE active=1 ORDER BY name ASC";
$result = mysql_query($checkboxes) or die(mysql_error());
$names = array();
while ($row = mysql_fetch_array($result)) {
$names['id'] = $row['name'];
}
var_dump($names);