Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 mysql result in foreach  [new]
crowcrow
Guest
Приветствую всех.

Использую в php результат выборки с базы (mysql) сразу в цикле foreach без всяких mysqli_fetch_array и т.д.

То есть:

$result = mysqli_query("SELECT field1, field2 FROM some_table');

foreach ($result as $rec) {
  echo $rec['field1'];
  echo $rec['field2'];
}


И эта конструкция работает. Пробегает по всем выбраным записям и полям.

Но правильно ли так делать? Или есть подводные камни?
4 окт 17, 15:26    [20842522]     Ответить | Цитировать Сообщить модератору
 Re: mysql result in foreach  [new]
Zhenek
Member

Откуда: Ванино
Сообщений: 499
php.net
Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.


php.net
Foreach работает только с массивами и объектами


т.е. вы получили от mysql_query объект, и прошлись по нему foreach.

Но вот удобно ли так делать? Модуль mysql(mysqli) дает куда больше функций для работы с объектом. Можно получить массив с числовыми ключами,полями, комбинированным, там добрая сотня функций на любой вкус, так же в офф. доке куча примеров.

Это как лопата. Ей можно копать, а можно забивать гвозди, но зачем, если есть молоток, пневмо молоток, топор в крайнем случае.
Главное удобство

Имхо.
4 окт 17, 19:08    [20843328]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить