如何在多维数组中存储SQL查询的所有结果?

uma*_*mar 8 php sql

你好每一个我想把我的数组转换成其他数组类型,plz帮助我.我用这个

$row = mysql_fetch_array($result, MYSQL_ASSOC); 
Run Code Online (Sandbox Code Playgroud)

和输出是

Array ( [user_id] => 250 [name] => a [age] => sfsf [pic_path] => )
Run Code Online (Sandbox Code Playgroud)

但我想要这种格式的输出

Array ( [0] => Array ( [user_id] => 250 [name] => a [age] => sfsf [pic_path] => ) [1] => Array ( [user_id] => 251 [name] => b [age] => sfsfs [pic_path] => ) )
Run Code Online (Sandbox Code Playgroud)

所以我应该以这种格式获取数组的功能

Bra*_*tie 19

$data = array(); // create a variable to hold the information
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
  $data[] = $row; // add the row in to the results (data) array
}

print_r($data); // print result
Run Code Online (Sandbox Code Playgroud)

更新' 2017年2月现在是2017年,它建议你使用PDO而不是mysql_*.更安全,可以原生返回fetchAll(如"TrexXx的答案"所示).


Tre*_*xXx 6

避免执行循环的唯一方法是使用PDO(http://fr2.php.net/manual/fr/book.pdo.php),这是一种更好的方式来访问PHP中的数据库,你可以这样做:

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');

$q = $pdo->query('select * from yourtable');
$r = $q->fetchAll();

var_dump($r);
Run Code Online (Sandbox Code Playgroud)