Страницы

Поиск по вопросам

среда, 19 июня 2019 г.

Соединение с базой и выполнение запроса PHP и MySQL

Добрый день сообщество!
Решил углубиться в недра php и mysql с книжкой "PHP и MySQL. От новичка до профессионала". Книга мне очень нравиться почти уже всю проработал, при работе с книгой использую XAMPP, но не дает мне покоя один нюанс.
Я подключаюсь к определенной таблице БД использую скрипт:
try { $pdo = new PDO('mysql:host = localhost; dbname = ijdb', 'ijdbuser', 'pass'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->exec('SET NAMES "utf8"');
} catch (PDOException $e) { $output = 'Невозможно подключиться к серверу баз данных! ' . $e -> getMessage(); include 'output.html.php'; exit(); }
Который подразумевает подключение к конкретной базе данных сервера, а в итоге я не могу написать запрос типа:
SELECT joke.id, joketext, name, email FROM joke INNER JOIN author on authorid = author.id
сервер кушает запрос только в том случае если я его модифицирую:
SELECT joke.id, joketext, name, email FROM ijdb.joke INNER JOIN ijdb.author on authorid = author.id
При первом варианте появляеться ошибка:
QLSTATE[3D000]: Invalid catalog name: 1046 No database selected
*Каким образом избавиться от избыточности написания!?


Ответ

При подключении к PDO надо строго соблюдать формат DSN. В частности, не добавлять отсебятину в виде пробелов, кавычек и прочих украшательств.
$pdo = new PDO('mysql:host=localhost;dbname=ijdb', 'ijdbuser', 'pass');

Комментариев нет:

Отправить комментарий