Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Работа с БД подключение через PDO  (Прочитано 1171 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Работа с БД подключение через PDO
« : 04 Октября 2013, 03:02:21 »
Всем привет.
Подскажите, что в коде не правильно я набирают.

Так как мне на экран выдает только слова
"Вывод записей из результата по одной: "


(Нажмите, чтобы показать/скрыть)



Пользователь решил продолжить мысль 04 Октября 2013, 03:18:39:
phpinfo
« Последнее редактирование: 04 Октября 2013, 03:18:40 от saifuddin »
Ubuntu 22.04

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1690
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #1 : 04 Октября 2013, 06:39:14 »
Попробуй заменить
echo "{$table['id']}. Автор: {$table['author']}, Заголовок: {$table['topic']}, Текст: {$table['text']}. <br/>";на это
echo($table['id'] . 'Автор: ' . $table['author'] . ' Заголовок: ' . $table['topic'] . ' Текст: ' . $table['text'] . '<br>');
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #2 : 04 Октября 2013, 10:24:27 »
То же самое
Ubuntu 22.04

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1690
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #3 : 04 Октября 2013, 10:46:43 »
Извиняюсь, сразу не сообразил - думал, что выводит слова "Автор", "Заголовок"... Попробуй заменить
while ($table = $result->fetch(PDO::FETCH_ASSOC))на
while(($table = $result->fetch(PDO::FETCH_ASSOC)) != false)Лично с PDO не знаком, но сам вывожу таблицу через mysql_fetch_assoc($result) именно так.
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #4 : 04 Октября 2013, 12:04:58 »
Так же))
может он у меня не работает PDO?
НУ, не подключен.
Хотя... ошибку выбивает, когда пароль не правильный вводишь.
Значит должен работать.
хм... очень странно.
А, то, что у меня Lamp был установлен это ни чего? Там не нужно было еще дополнительно, что-то ставить, чтобы PDO подключать?
Раньше просто через PDO не работал и не знаю, что к чему. Но вроде все по видеоурокам делал и не работает (((
Ubuntu 22.04

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1690
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #5 : 04 Октября 2013, 12:56:49 »
А у тебя точно в таблице есть данные?
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #6 : 04 Октября 2013, 15:55:34 »
Через обычное подключение выводит данные и меняет их. Я говорю про подключение mysql

Пользователь решил продолжить мысль 04 Октября 2013, 20:17:32:



Пользователь решил продолжить мысль 05 Октября 2013, 10:02:05:
Ну, народ, помогите, в чем может быть проблема. ?
« Последнее редактирование: 05 Октября 2013, 10:02:05 от saifuddin »
Ubuntu 22.04

Оффлайн mkramer

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #7 : 05 Октября 2013, 11:46:38 »
После строки $result = $link->query($sql); вставьте var_export($result); die; и покажите результат

Пользователь решил продолжить мысль 05 Октября 2013, 11:50:28:
Ой, я не сразу заметил:
$link = new PDO('mysql:host = DB_HOST;dbname = DB_NAME', DB_LOGIN , DB_PASSWORD);
Надо вот так:
$link = new PDO('mysql:host='.DB_HOST .';dbname='.DB_NAME, DB_LOGIN , DB_PASSWORD);У вас константы не подставляются. Почему не бросается исключение, не знаю. Обычно работаю с mysqli
« Последнее редактирование: 05 Октября 2013, 11:50:28 от mkramer »

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Re: Работа с БД подключение через PDO
« Ответ #8 : 05 Октября 2013, 12:24:34 »
PDOStatement::__set_state(array( 'queryString' => 'SELECT * FROM article', ))
вот это вывел

Пользователь решил продолжить мысль 05 Октября 2013, 12:28:54:
Код: (php) [Выделить]
<?php
                    
// define('DB_HOST', 'localhost');
                    // define('DB_LOGIN', 'root');
                    // define('DB_PASSWORD', '');
                    // define('DB_NAME', 'testphp');
                    // define('DB_T_ARTICLE', 'article');
                    
$DB_HOST='localhost';
                    
$DB_NAME='testphp';
                    
$DB_LOGIN='root';
                    
$DB_PASSWORD='';
     
             try {
                   
                    
$link = new PDO('mysql:host='$DB_HOST .';dbname='$DB_NAME$DB_LOGIN $DB_PASSWORD);
                    
$link->exec("set names utf8"); //Кодировка с БД

Заменил на переменные выдает чистый лист

Пользователь решил продолжить мысль 05 Октября 2013, 12:34:57:
ввел все данные не через константы и переменные, а на прямую. вывел
 PDOStatement::__set_state(array( 'queryString' => 'SELECT * FROM article', ))

Пользователь решил продолжить мысль 05 Октября 2013, 12:39:54:
все заработало после добавления строки
error_reporting(E_ALL);после
$result = $link->query($sql);Всем спасибо!

Пользователь решил продолжить мысль 05 Октября 2013, 12:40:26:
и обязательно нужно удалить строку
var_export($result); die;
« Последнее редактирование: 05 Октября 2013, 12:40:26 от saifuddin »
Ubuntu 22.04

 

Страница сгенерирована за 0.055 секунд. Запросов: 25.