За последние 24 часа нас посетили 47605 программистов и 6135 роботов. Сейчас ищут 1708 программистов ...

PDO не подключает базу

Тема в разделе "PHP для новичков", создана пользователем Ityewa, 8 май 2018.

  1. Ityewa

    Ityewa Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    7
    Симпатии:
    0
    Пытаюсь подключиться к базе с помощью PDO. Получаю ошибку:
    SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
    Код подключения такой:
    Код (Text):
    1. try{
    2.    $pdo = new PDO('mysql:host=localhost; dbname:test_pdo; charset=utf8','root','');
    3.    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    4.  
    5.    $sql = "SELECT * FROM `persons`";
    6.    $res = $pdo->query($sql);
    7.    foreach ($res as $row) {
    8.        echo '<p>'.$row['id'].'|'.$row['name'].'|'.$row['lastName']. '</p>';
    9.    }
    10.  
    11. } catch (PDOException $e) {
    12.     echo $e->getMessage();
    13. }
    Проверил в php.ini подключение PDO- все в порядке.В чем проблема ?
     
  2. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    183
    No database selected
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    1. Убери пробелы из dsn-строки
    2. Проверь, существует ли эта база
     
  4. Ityewa

    Ityewa Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    7
    Симпатии:
    0
    Пробелы убрал, базу создал новую(pdo_test), поменял в запросе.
    Ошибка та же :
    SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    О... А почему после dbname двоеточие, а не равенство?
     
  6. Ityewa

    Ityewa Новичок

    С нами с:
    13 апр 2018
    Сообщения:
    7
    Симпатии:
    0
    Ну это действительно : ошибка ВЕКА !
    Все оказалось просто, неверный символ.
    СПАСИБО !