Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521

PDO не выводится информация с БД

19.08.2018, 18:56. Показов 1796. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,решил освоить PDO,так сказать по практиковаться,написал класс для работы с БД
PHP
1
2
3
4
private function preparePDO(string $query)
     {
        $this->ex = $this->pdo->prepare($query);
     }
PHP
1
2
3
4
5
6
7
8
     protected function executePDO(array $array)
     {
        if($this->StringKeys($array)) {
            $this->ex->execute($array);
            $result = $this->ex->fetch();
        }
                   return $result;
         }
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public function query(OptinalDB $optinalDB, array $data, array $array_where)
     {
        $table_name = $this->getTableName($data['table_name']);
        $optinalDB->components($data['components'], $array_where);
        switch ($optinalDB->getString()) {
            case 'SELECT':
                $margins = $this->stringWhere($data['data']);
                $query = "{$optinalDB->getString()} {$margins} FROM {$table_name} {$optinalDB->getQuery()}";
                $this->preparePDO($query);
                $r = $this->executePDO($optinalDB->getValues());
                return $r;
                break;
            
            default:
                # code...
                break;
        }
 
     }
     private function stringWhere($array) 
     {
        $field = "`".implode('`, `', $array)."`";
        return $field;
     }
     private function StringKeys(array $array) 
     {
        $arr = array_keys($array);
        if (is_numeric($arr[0])) return true;
        else return false;
     }
Самое интересное,что ошибок вообще нет,а из БД ничего не выводится,хотя запрос прошел нормально,в чем может быть косяк?
Запрос,вот такой
SQL
1
2
PDOStatement Object ( [queryString] => SELECT `login`, `password` FROM `rthsm_adm_users` WHERE `login` = '?' )
потом вместо вопроса должно подставиться admin
Но я не уверен,подставляется ли оно вообще
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2018, 18:56
Ответы с готовыми решениями:

Не выводится первая запись. PDO
Здравствуйте! Скажите что не так, что первая запись (если их несколько) не выводится первая, из таблицы базы данных. А если в таблице всего...

Не выводится информация
Здравствуйте, пытаюсь сделать CMS. Общий код готов, осталось только доработать детали. Одной из таких деталей является Вывод ошибки...

Не выводится информация из бд по id
Здравствуйте, форумчане. Прошу помощи. Не получается вывести информацию из бд по id. Проблема в следующем, есть некая страница...

9
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
19.08.2018, 20:03
Цитата Сообщение от SolomonRei Посмотреть сообщение
$this->ex->execute($array);
возвращаемое значение следует проверять. и ошибки прочитать в случае false
0
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521
19.08.2018, 20:25  [ТС]
Как кго проверять?
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
19.08.2018, 20:37
справка же есть. на русском. errorInfo какая-то
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
19.08.2018, 23:06
О, очередной костыль от тех, кто решил освоить PDO. Сколько я уже вариантов обёрток видел только на этом форуме )
Цитата Сообщение от SolomonRei Посмотреть сообщение
Запрос,вот такой
Ну, должно работать, если знак вопроса без кавычек:
SQL
1
SELECT `login`, `password` FROM `rthsm_adm_users` WHERE `login` = ?
Как оно там генерирует запросы уже сами разбирайтесь.
0
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
20.08.2018, 02:36
switch и case особенно порадовали

и break после return
0
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521
20.08.2018, 10:45  [ТС]
Цитата Сообщение от Сынок Посмотреть сообщение
и break после return
я его уберу потом,просто код в разработке еще,да еще и запрос не проводится
Цитата Сообщение от otto-fukin Посмотреть сообщение
справка же есть. на русском. errorInfo какая-то
Проверил на ошибки
ничего
PHP
1
2
3
4
$this->ex->execute($array);
            $result = $this->ex->fetch();
            echo "\nPDOStatement::errorCode(): ";
            print $this->ex->errorCode();
выводит
PDOStatement::errorCode(): 00000
ошибка 00000 - значит запрос успешно прошел,в чем же причина??
как посмотреть сам запрос?

Добавлено через 4 минуты
Решил провести
$this->ex->debugDumpParams()
и он выдал вот такой ответ

SQL: [67] SELECT `login`, `password` FROM `rthsm_adm_users` WHERE `login` = ?
Params: 1
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=2
0
 Аватар для otto-fukin
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
20.08.2018, 10:45
Лучший ответ Сообщение было отмечено SolomonRei как решение

Решение

errorCode().. простых путей конечно не ищем и доки не читаем по причине плохого зрения
errorInfo() не пробовали? Хотя может и не поможет. Все тупые обертки над PDO всегда глючат. С ге связались(возможно сами написали) - получите ге. А ведь как просто, взять да прочитать мануаль.
1
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521
20.08.2018, 11:19  [ТС]
Цитата Сообщение от otto-fukin Посмотреть сообщение
errorInfo()
Спасибо,помогло,
Цитата Сообщение от otto-fukin Посмотреть сообщение
простых путей конечно не ищем и доки не читаем по причине плохого зрения
errorInfo() не пробовали?
Просто впервые с pdo знакомлюсь,а в мануале столько разных методов error,что я думал,что нужен errorCode().,поэтому и не посчитал нужным дальше читать мануал,спасибо а помощь
0
20.08.2018, 11:27

Не по теме:

PDO - самодостаточный класс и всевозможные обертки его только портят. Извините за возможно эмоциональный ответ

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2018, 11:27
Помогаю со студенческими работами здесь

Не выводится информация из бд
Пишу MVC5 приложение и так как я новичок в этом столкнулся с некоторой трудностью, а именно на страницу не выводится результат из бд. ...

Не выводится информация из БД!
Здравствуйте! Не хочет выводится нужная инфа из БД, не могу понять в чем ошибка, проверил в phpmyadmin на работаспособность...

Не выводится информация в TextBox
Здравствуйте товарищи, не подскажите почему в этом коде не выводит в текстбокс2 строку SDAF? private: System::Void...

Не выводится информация в листбоксе
Здравствуйте. Есть такая ситуация. Главная форма(ГФ) вызывает дочернюю форму(ДФ). В ГФ вводится информация в текстбокс и после нажатия на...

Некорректно выводится информация
Создал форму: <?php include '../template/header.php'; ?> <html> <head><meta http-equiv="Content-Type" content="text/html;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru