SQL查询的多维数组

I have an multi-dimensional array that I am trying to build from an SQL query. I am having trouble adding the id in the inner array.

Code:

$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[]['name'] = $row['name'];

}

Currently the Array looks like:

Array
(
[0] => Array
    (
        [name] => 411.ca
    )

[1] => Array
    (
        [name] => AutoMD
    )

I Need the array to look like this:

Array
(
[0] => Array
    (
        [id] => 4
        [name] => 411.ca
    )

[1] => Array
    (
        [id] => 9
        [name] => AutoMD
    )

You are only selecting id and name in the query so, in the loop:

while ($row = mysql_fetch_assoc($result)) {
    $names[] = $row;
}

Or simply:

while ($names[] = mysql_fetch_assoc($result)) {}

Notice, mysql_fetch_assoc() to only return an associative array. mysql_fetch_array() returns an associative and numerically indexed array.

Also:

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: mysqli_fetch_array() PDOStatement::fetch()

If you were to use the MySQLi extension then you may be able to use:

$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);