php - невозможно подключиться к базе данных с помощью PDO - PullRequest
0 голосов
/ 16 марта 2019

У меня проблемы с подключением к моей локальной базе данных. По какой-то причине, когда я пытаюсь подключиться, он показывает ошибку ниже:

Ошибка подключения: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: НЕТ)

Мне удается подключиться к своему phpmyadmin с пользователем и использовать для командной строки, но когда я пытаюсь использовать свой php-скрипт, я не могу. Но мне удалось сделать это раньше.

Я использую простой код подключения PDO:

<?php
define('DB_USER', "root");
define('DB_PASSWORD', "");
$DB_SERVER = "localhost";
$DB_DATABASE = "app-db";

try {
    $conn = new PDO("mysql:host=$DB_SERVER;dbname=$DB_DATABASE", DB_USER, DB_PASSWORD);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

Я также пытался использовать «новые mysqli (хост, пользователь, пароль)» и «mysqli_connect (хост, пользователь, пароль, база данных)» и тот же ответ, доступ для пользователя запрещен.

Любая помощь будет отличной.

Решено:

Очевидно, у меня было запущено 2 процесса mysql, и тот, который я использовал, не был подключен к порту по умолчанию.

1 Ответ

0 голосов
/ 16 марта 2019

Вы уверены, что ваш двигатель БД включен? И этот пользователь без пароля? Может быть, root root?

И маленький совет: Если ваша строка не должна интерпретироваться, используйте вместо нее. Это будет быстрее. Например:

define('DB_USER', 'root'); 
define('DB_PASSWORD', ''); 
$DB_SERVER = localhost';
$DB_DATABASE = 'app-db';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...