web-dev-qa-db-ja.com

mysqlで選択したすべての行を配列に取得します

私は選択したすべてのデータを配列に入れることができるPHPの関数があるのだろうかと思っています。現在、mysql_fetch_arrayを使用していますが、マニュアルで読んだように、その関数はテーブル内のすべてのレコードを取得しません。

$result = mysql_query("SELECT * FROM $tableName");            
$array = mysql_fetch_array($result);

  echo json_encode($array);
16
Gandalf

パフォーマンスとセキュリティの目的でMySQLiまたはMySQL PDOを使用することをお勧めしますが、質問に答えるには:

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

echo json_encode($json);

MySQLiに切り替えた場合、次のことができます。

$query = "SELECT * FROM table";
$result = mysqli_query($db, $query);

$json = mysqli_fetch_all ($result, MYSQLI_ASSOC);
echo json_encode($json );
46
Mike Mackintosh

試すことができます:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_Push($rows, $row);
}
echo json_encode($rows);
6
Brandon Ferrara
  1. 結果をループし、それぞれを配列に配置します

  2. mysqli_fetch_all() を使用して、一度にすべてを取得します

6
John Conde
$name=array(); 
while($result=mysql_fetch_array($res)) {
    $name[]=array('Id'=>$result['id']); 
    // here you want to fetch all 
    // records from table like this. 
    // then you should get the array 
    // from all rows into one array 
}
1
dev4092