Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Артемий В Ученик (104), на голосовании 9 месяцев назад
И так, у меня есть таблица, состоящая из девяти значений, а так же локальный тестовый сайт. На этом сайте я делаю систему получения данных из бд. Вот мой код на 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 будет ровна
 chat_id=127 
В таком случае, MySQL должна вернуть где-то 7 строк, но ответом result_message будет только одна - информация из первой строки, полученная в цикле foreach. Я очень плохо знаю php, по этому не понимаю, почему данные возвращаются только из первой, подходящей по параметрам (WHERE) строки. В чем моя ошибка?
Голосование за лучший ответ
Mystica Мастер (1182) 10 месяцев назад
Попробуйте добавить:
$result = mysqli_fetch_all($result, MYSQLI_ASSOC);
после
$result = mysqli_query($dbc, $query);
Артемий ВУченик (104) 10 месяцев назад
Такой же результат. Только данные из первой строки
MysticaМастер (1182) 10 месяцев назад
Еще одну проблему заметила.

Здесь синтаксис неверный
$result_message += ['log_id'=>$row['log_id'], 'user_id'=>$row['user_id']];

Правильнее будет:
$result_message[] = ['log_id'=>$row['log_id'], 'user_id'=>$row['user_id']];
Артемий В Ученик (104) Mystica, спасибо большое! Очень помогли!
Danil Мыслитель (6987) 10 месяцев назад
$result_message += - это не по коду РНР
Похожие вопросы