Страница 2 из 3

Re: Не работает pdo(

Добавлено: 01 мар 2018, 03:18
DelphinPRO
nGreg писал(а):получаю белый экран
Обычно это говорит о том, что у вас отключён вывод ошибок.
Соответственно, вывод ошибок нужно включить, из них понять что происходит и уже тогда искать пути решения проблемы.

Re: Не работает pdo(

Добавлено: 01 мар 2018, 06:27
nGreg
В том то и дело, что всё включено! И вывод ошибок в том числе. Если я меняю пароль, например, все отображается на экране. И отладчик пишет "cannot evaluate expression", если косяк какой-нибудь...

Re: Не работает pdo(

Добавлено: 01 мар 2018, 07:14
DelphinPRO

Re: Не работает pdo(

Добавлено: 01 мар 2018, 07:24
nGreg
Нет у меня проблем с дебаггером. Я написал, что если возникает ошибка в коде, она видна и в браузере и в отладчике. Но он показывает, что объект PDO создан нормально. Но пустой...

Re: Не работает pdo(

Добавлено: 01 мар 2018, 07:28
DelphinPRO
Ну так может поделитесь текстом ошибки? Дословно. Копипастой.

Re: Не работает pdo(

Добавлено: 01 мар 2018, 07:37
nGreg
Попробую ещё раз:
У меня нет НИКАКИХ ошибок. Нигде. Уже обернул в try ... catch.... Проверил права пользователей в mysql-аминке, подключался к разным базам. Само подключение происходит нормально. Но никаких данных нет...
.......
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$connection = new PDO($dsn, $user, $pass, $options);

Отладчик показывает: $connection={PDO}[0]

И всё...

Re: Не работает pdo(

Добавлено: 01 мар 2018, 07:59
DelphinPRO
А что еще он должен показать?
Изображение

Re: Не работает pdo(

Добавлено: 01 мар 2018, 08:14
nGreg
Сам бы хотел знать... Как в таком случае выполнять запрос?
$connection = new PDO($dsn, $user, $pass, $options);
$test= $connection->query('Select punbb_users.username FROM punbb_users');
Там же ничего нет, кроме самого запроса...

Re: Не работает pdo(

Добавлено: 01 мар 2018, 08:19
DelphinPRO
Как бы банально это не звучало, но предлагаю начать с изучения документации.

PDO::query
Выполняет SQL-запрос и возвращает результирующий набор в виде объекта PDOStatement
PDOStatement
Представляет подготовленный запрос к базе данных, а после выполнения запроса соответствующий результирующий набор.
PDOStatement::fetchAll
Возвращает массив, содержащий все строки результирующего набора

Re: Не работает pdo(

Добавлено: 01 мар 2018, 08:20
DelphinPRO
$pdo = new PDO($dsn, $user, $pass, $options);
$stmt = $pdo->query('Select punbb_users.username FROM punbb_users');
$data = $stmt->fetchAll();
var_dump($data);