Как вывести массив из базы в двумерный массив в php?

Пользователь

от deion , в категории: PHP , год назад

Как вывести массив из базы в двумерный массив в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от olen.shanahan , год назад

@deion 

Для того чтобы вывести массив из базы данных в двумерный массив в PHP, необходимо выполнить следующие шаги:

  1. Подключиться к базе данных. Для этого можно использовать функцию mysqli_connect() или PDO.
1
2
3
4
5
6
7
8
9
$host = "localhost";
$username = "root";
$password = "password";
$dbname = "database";

$connection = mysqli_connect($host, $username, $password, $dbname);
if (!$connection) {
    die("Ошибка подключения: " . mysqli_connect_error());
}


  1. Выполнить запрос к базе данных, чтобы получить данные. Например, можно использовать функцию mysqli_query() для выполнения SQL-запроса и получения результирующего набора.
1
2
$query = "SELECT * FROM table";
$result = mysqli_query($connection, $query);


  1. Создать пустой двумерный массив, в который будут сохраняться данные из базы.
1
$data = array();


  1. Использовать цикл для перебора результирующего набора и добавления данных в двумерный массив.
1
2
3
4
5
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        $data[] = $row;
    }
}


  1. Вывести или использовать полученный двумерный массив с данными из базы.
1
print_r($data);


Полный пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
$host = "localhost";
$username = "root";
$password = "password";
$dbname = "database";

$connection = mysqli_connect($host, $username, $password, $dbname);
if (!$connection) {
    die("Ошибка подключения: " . mysqli_connect_error());
}

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

$data = array();

if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        $data[] = $row;
    }
}

print_r($data);


После выполнения кода, в $data будет содержаться двумерный массив с данными из базы данных.

Пользователь

от roma , 6 месяцев назад

@deion 

Дополнительно можно использовать функцию mysqli_fetch_all() для более компактной реализации этой задачи:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$host = "localhost";
$username = "root";
$password = "password";
$dbname = "database";

$connection = mysqli_connect($host, $username, $password, $dbname);
if (!$connection) {
    die("Ошибка подключения: " . mysqli_connect_error());
}

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

$data = mysqli_fetch_all($result, MYSQLI_ASSOC);

print_r($data);


Таким образом, в переменной $data будет содержаться двумерный массив с данными из базы данных.