Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Получение нескольких строк из бд MySQL

И так, у меня есть таблица, состоящая из девяти значений, а так же локальный тестовый сайт. На этом сайте я делаю систему получения данных из бд. Вот мой код на php:

12345678910111213141516171819
 <?php 
 
$dbc = mysqli_connect(данные от базы); 
 
$data = json_decode(file_get_contents('php://input'), true); 
$queryData = $data['data']; 
 
$query = "SELECT * FROM botlogs WHERE ($queryData)"; 
 
$result = mysqli_query($dbc, $query); 
$result_message = array(); 
foreach($result as $row){    
    $result_message += ['log_id'=>$row['log_id'], 'user_id'=>$row['user_id']]; 
} 
http_response_code('201'); 
header('Content-type: application/json'); 
print json_encode(array('message' => $result_message)); 
 
mysqli_close($dbc); 

Тут я получаю значения из таблицы botlogs, которые совпадают с отправляемыми данными из скрипта JS, после чего перебираю их и отправляю обратно в скрипт. Допустим переменная queryData будет ровна

1
 chat_id=127 

В таком случае, MySQL должна вернуть где-то 7 строк, но ответом result_message будет только одна - информация из первой строки, полученная в цикле foreach. Я очень плохо знаю php, по этому не понимаю, почему данные возвращаются только из первой, подходящей по параметрам (WHERE) строки. В чем моя ошибка?

По дате
По рейтингу
Аватар пользователя
Мастер

Попробуйте добавить:
$result = mysqli_fetch_all($result, MYSQLI_ASSOC);
после
$result = mysqli_query($dbc, $query);

Аватар пользователя
Мыслитель

$result_message += - это не по коду РНР