Intereting Posts
PDO отказывается удалить строку данных (в конкретной таблице) Изменение размера шрифта текстового изображения, преобразованного из текста в функцию изображения динамически ajax вызов php не работает должным образом Поместить значения в многомерные массивы Yii, показать другой формат даты в cgridview Использование count (*) vs num_rows Перестановки – все возможные наборы чисел Правильный график Facebook Api Video Insitghts Request PHP SDK HybridAuth не работает с ajax Отображение документов с Google Диска на веб-странице Глобальные переменные не работают должным образом с помощью фреймворков Рекурсивная функция внутри класса с foreach изменяет общедоступную ценность, где она не должна Cant скачать некоторые файлы с PHP FTP Как получить содержимое страницы после перенаправления javascript в php Каков наилучший способ подключения / подключения базы данных к функции в PHP?

Соединение MySql PDO с базой данных

Я изучаю PDO, и я очень сильно смущен, у меня есть этот код ниже, и все выглядит правильно, но я получаю этот код ошибки, и я не знаю, что мне нужно сделать, чтобы исправить это, пожалуйста, помогите мне:

<?php $hostname='localhost'; $username='root'; $password=''; try { $dbh = new PDO("mysql:host=$hostname;dbname=stickercollections",$username,$password); echo 'Connected to Database<br/>'; $sql = "SELECT * FROM stickercollections"; foreach ($dbh->query($sql) as $row) { echo $row["collection_brand"] ." - ". $row["collection_year"] ."<br/>"; } $dbh = null; } catch(PDOException $e) { echo $e->getMessage(); } ?> 

Код ошибки: Invalid argument supplied for foreach() in /Applications/XAMPP/xamppfiles/htdocs/GOTSWAPMAIN/index.php on line 11

Попробуйте увеличить режим ошибок:

 <?php $hostname='localhost'; $username='root'; $password=''; try { $dbh = new PDO("mysql:host=$hostname;dbname=stickercollections",$username,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line echo 'Connected to Database<br/>'; $sql = "SELECT * FROM stickercollections"; foreach ($dbh->query($sql) as $row) { echo $row["collection_brand"] ." - ". $row["collection_year"] ."<br/>"; } $dbh = null; } catch(PDOException $e) { echo $e->getMessage(); } ?> 

EDIT: pdo.error-handling говорит, вы также можете использовать pdo.errorcode и pdostatement.errorcode (или как), чтобы получить больше информации, но я думаю, что исключение throw – лучший способ обработки плохих соединений, а не разрешенных хостов и т. Д.