$DBH = new PDO("mysql:host=".HOST.";dbname=".DB_NAME, USER, PASSWORD);
$DBH->exec('SET NAMES utf8');
$postsH = $DBH->query("SELECT * FROM `posts` ORDER BY `id` DESC");
$posts = '';
while($row = $postsH->fetch(PDO::FETCH_ASSOC)){
$DB = new PDO("mysql:host=".HOST.";dbname=".DB_NAME, USER, PASSWORD);
$DB ->exec('SET NAMES utf8');
$catH = $DB->query("SELECT * FROM `cats` WHERE `id` = '$row[cat]'");
$cat = $catH->fetch(PDO::FETCH_ASSOC);
$posts .= "$row[text], ";
}
В таком случае код работает. Если создать новый объект (new PDO). Если же попробовать подключиться через старый объект, то возникает ошибка, запрос не удается, и нельзя использоваться fetch, потому что результатом запроса является false, а не объект. Как использовать первое подключение без создания нового?
Вот так не работает:
while($row = $postsH->fetch(PDO::FETCH_ASSOC)){
$catH = $DBH->query("SELECT * FROM `cats` WHERE `id` = '$row[cat]'");
$cat = $catH->fetch(PDO::FETCH_ASSOC);
$posts .= "$row[text], ";
}
Если после выполнения предыдущего запроса вы не выбрали все данные из результирующего набора, следующий вызов PDO::query() может потерпеть неудачу. В таких случаях следует вызываеть метод PDOStatement::closeCursor(), который освободит ресурсы базы данных занятые предыдущим объектом PDOStatement. После этого можно безопасно вызывать PDO::query().
Источник: http://www.php.net/manual/ru/pdo.query.php
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть база на хостингеЕсть на сервере апи, которое взаимодействует с базой и с приложением
Можно ли проверить значения, которые передает запрос INSERT в YII? Дело в том, что при добавлении записи вылетает следошибка:
Доброго времени сутокПочему не получается сделать соответствие поля регулярному выражению- ни одна документация не запрещает это (вроде...