web-dev-qa-db-fra.com

Récupère toutes les lignes mysql sélectionnées dans un tableau

Je me demande s'il y a une fonction en php qui peut me permettre de mettre toutes mes données sélectionnées dans un tableau. Actuellement, j'utilise mysql_fetch_array et comme je l'ai lu dans le manuel, cette fonction ne récupérera pas tous les enregistrements de la table.

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

  echo json_encode($array);
16
Gandalf

Je suggérerais l'utilisation de MySQLi ou MySQL PDO à des fins de performance et de sécurité, mais pour répondre à la question:

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

echo json_encode($json);

Si vous êtes passé à MySQLi, vous pouvez faire:

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

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

Vous pouvez essayer:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_Push($rows, $row);
}
echo json_encode($rows);
6
Brandon Ferrara
  1. Parcourez les résultats et placez chacun dans un tableau

  2. utilisez mysqli_fetch_all() pour les obtenir tous en même temps

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