Добрый день уважаемые форумчане, подскажите пожалуйста в чем может быть ошибка. Есть сервер MySQL с несколькими подготовленными процедурами, и скрипт который с помощью pdo_mysql делает запросы к бд получает результат и выводит, изначально все работало нормально, после переустановки ОС заново установил Apache, MySQL, PHP, возможно отличные от первоначльных версий по, вроде бы установил те же настройки в php.ini но появилась проблема, выполняется только первый запрос к бд, то есть все остальные возвращают false, хоят все процедуры работают в консоли сервера mysql, пробовал удалять результат запроса, то есть переменную путем присваивания значения null, даже есть таткая странность вставки php кода с запросами и обработкой результата в html в первой вставке переменная доступна, то есть результат запроса, а во второй вставке буквально через нескольок строчек кода html между выводом с помощью php уже false, пробовал закрывать курсор после вывода, как сказано в мануале - не сработало, или другую переменную использовать, результат одинаковый, может быть что-то упустил в настройках. Код (Text): <table border="1" width="100%"> <tr> <th>id</th> <th>Название</th> <th>Категория</th> <!--<th>Дата</th>!--> <!--<th>Пользователь</th>!--> <th>Опции</th> </tr> <?php $res = $db->query('CALL sp_getIngredients()'); foreach($res as $v){ echo "<tr>"; echo "<td>".$v['idingredients']."</td>"; echo "<td>".$v['nameingredients']."</td>"; echo "<td>".$v['category']."</td>"; //echo "<td>".$v['date']."</td>"; //echo "<td>".$v['name']."</td>"; echo "<td><a href='".$_SERVER['PHP_SELF']."?del=".$v['idingredients']."&name=ingredients'>Удалить</a></td>"; echo "</tr>"; } ?> </table> то уже следующий код выдаст предупреждение: Warning: Invalid argument supplied for foreach() Код (Text): <?php $res = $db->query('CALL sp_getIngredients()'); foreach($res as $v){ //вывод элементов объекта PDO } ?> все это в одном файле подключение к бд происходит один раз при запуске скрипта Заранее благодарен за помощь. (P.s. может подскажите в каком направлении искать)
разве что при сборке дистрибутива сервера разработчики пошутили, это все на локальном пк а еще вопрос если переписать на mуsqli, и есть ли смысл без острой необходимости использовать PDO, если в преспективе смотреть на фреймворк Yii, собственно говоря PDO использовал т.к. нужно было быстро найти способ вызова процедур, плюс есть еще с параметрами в другой части скрипта. Спасибо за отклик)
у пдо есть одна задача - это чтобы БД можно было сменить. При этом не забывайте, что у каждой бд есть свои хитрости и плюшки, которые вы либо хотите использовать, либо вам плевать. а если у вас есть осознанный выбор БД и вы хотите использовать конкретные ее механизмы, то вы будете использовать ту БД, которую хотите. =) А если вам плевать и вы не знаете никаких уникальных плюшек, без которых просто не жить - то юзайте мускул или пдо - один хрен.