Получить все выделенные строки mysql в массив
Мне интересно, есть ли в php функция, которая позволяет мне помещать все мои выбранные данные в массив. В настоящее время я использую mysql_fetch_array, и, как я читал в руководстве, эта функция не будет извлекать каждую запись в таблице.
$result = mysql_query("SELECT * FROM $tableName");
$array = mysql_fetch_array($result);
echo json_encode($array);
Ответы
Ответ 1
Я бы предложил использовать 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 );
Ответ 2
Вы можете попробовать:
$rows = array();
while($row = mysql_fetch_array($result)){
array_push($rows, $row);
}
echo json_encode($rows);
Ответ 3
-
Прокрутите результаты и поместите их в массив
-
используйте mysqli_fetch_all()
, чтобы получить их все за один раз
Ответ 4
$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
}