Я извлекаю объединенный запрос из БД, используя следующий код:
$query = 'SELECT `profiles`.`city`, `users`.`first_name`, `users`.`last_name`'
. ' FROM profiles, users'
. ' WHERE ((`profiles`.`user_id` = 3) AND (`users`.`user_id` = 3))'
. ' LIMIT 1';
$result = $connection -> query($query);
$arr = $result -> fetch_array();
$feedback = $arr;
$result -> close();
return $feedback;
Это не мой окончательный код, это всего лишь предварительная проверка моего соединения.
Похоже, что запрос работает нормально, он извлекает единственную строку информации, которая мне нужна, но я заметил, что когда я var_dump
, он помещает массив в 2 разных индекса, числовой индекс и индекс имени поле дб. Вот как выглядит var_dump
:
array(6) { [0]=> string(4) "Reno" ["city"]=> string(4) "Reno" [1]=> string(4) "John" ["first_name"]=> string(4) "John" [2]=> string(3) "Doe" ["last_name"]=> string(3) "Doe" }
Это фактически удваивает размер результата моего запроса. Для одной строки это не будет большой проблемой, но если / когда я начну использовать этот же метод для рисования нескольких записей, удвоение размера результата может быть дорогостоящим.
Я пытался сделать цикл foreach
:
foreach ($arr as $key=>$value) {
$feedback[$key] = $value;
}
но это оставляет меня с тем же результатом. Я что-то не так делаю и если да, то как это исправить или это нормально?
Спасибо за помощь