PDO подготовил постановку задачи - PullRequest
2 голосов
/ 11 марта 2011

У меня есть база данных 'books'

book_id     author          title
   1     O'Brien, Tim     MSXML3: A Comprehensive Guide
   2     O'Brien, Tim     Microsoft .NET: The Programming Bible
   3     Kress, Peter     Paradox Lost
   4     Knorr            Creepy Crawlies
   5     Thurman, Paula   Splish Splash

Я разрабатываю свой класс базы данных, используя PDO. Моя строка pdo conn принимает параметры: obj = new PDO("mysql:host = localhost; dbname = testing",root,'')


Наконец мой класс отправляет запрос: $query(say)=SELECT * FROM books WHERE book_id = ? AND author = ?

здесь '?' представляет маркер параметра для подготовленного запроса. когда я готовлю свой запрос, как: $result = obj->prepare($query);

Сохранение book_id и автора в $ param как: $param =array(1,Knorr);

Теперь я выполняю это как: $result->execute($param);

Иц не работает. Запрос не выполняется. После долгих исследований я попробовал имя таблицы запросов с именем базы данных вроде: SELECT * FROM testing.books WHERE book_id = ? AND author = ? и выполнил .. он выполнялся как масло и работал ...

Теперь проблема в том, что это происходит ?? .. ни одна статья pdo не упоминала, что это также может произойти. Sumone, пожалуйста, скажите, я должен использовать имя базы данных вместе с именем таблицы видений *

1 Ответ

3 голосов
/ 11 марта 2011

Попробуйте с пробелами, удаленными из строки подключения:

obj =new PDO("mysql:host=localhost;dbname=testing",root,'')

Мне кажется весьма вероятным, что вы не попадете в базу данных "test" при подключении, и я предполагаю,пробелы в строке подключения сбивают с толку код инициализации PDO и оставляют вас в базе данных по умолчанию.

...