Вопрос по php, arrays, mysql – Получить все выбранные строки mysql в массив

15

Мне интересно, есть ли в php функция, которая может позволить мне поместить все мои выбранные данные в массив. В настоящее время я использую mysql_fetch_array, и, как я прочитал в руководстве, эта функция не будет извлекать каждую запись в таблице.

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

  echo json_encode($array);
Пожалуйста, не используйтеmysql_* функции для нового кода. Они больше не поддерживаются, и сообщество началоdeprecation process, Увидетьred box? Вместо этого вы должны узнать оprepared statements и использовать либоPDO или жеMySQLi, Если вы не можете решить,this article поможет выбрать. Если вы хотите учиться,here is good PDO tutorial. Madara Uchiha♦
Если вы копируете / вставляете, toske необходимо добавить закрывающий) на его время.$allRows = array(); while($row = mysql_fetch_array($result)) {$allRows[] = $row } Andrew Samuelsen
Теmysql_... функции старые и небезопасные. Вы должны использоватьmysqli или лучше PDO -php.net/manual/en/book.mysqli.php, php.net/manual/en/book.pdo.php Raekye
Как сказал Раки, mysql довольно старый, но, кроме этого, если вы все еще хотите повторить результат, вы можете сделать это с помощью следующего кода:$allRows = array(); while($row = mysql_fetch_array($result) {$allRows[] = $row } toske

Ваш Ответ

4   ответа
1
$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 
}
6
  1. Loop through the results and place each one in an array

  2. use mysqli_fetch_all() to get them all at one time

6

You could try:

$rows = array();
while($row = mysql_fetch_array($result)){
  array_push($rows, $row);
}
echo json_encode($rows);
45

Я бы предложил использовать MySQLi или MySQL PDO для повышения производительности и безопасности, но для ответа на вопрос:

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

echo json_encode($json);

Если вы переключились на MySQLi, вы можете сделать:

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

Похожие вопросы