21

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

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

  echo json_encode($array);
4

6 に答える 6

58

パフォーマンスとセキュリティの目的で 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 );
于 2012-06-29T15:17:02.050 に答える
10
  1. 結果をループして、それぞれを配列に配置します

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

于 2012-06-29T15:18:25.790 に答える
8

あなたは試すことができます:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_push($rows, $row);
}
echo json_encode($rows);
于 2012-06-29T15:18:04.980 に答える