Mysql - Не удалось подключиться к неизвестной базе данных «имя базы данных» ошибка - PullRequest
0 голосов
/ 13 марта 2020

Я использую PDO для подключения к mySql базе данных. Я не могу подключиться ни к какой базе данных, которую создаю, хотя могу подключиться к уже созданным базам данных (уже созданным по умолчанию). Я использую wamp-сервер.

<?php
try{
$dbh=new PDO("mysql:host=localhost;dbname=mydata","root","");
}catch(Exception $e){
    die("ERROR: Couldn't connect. {$e->getMessage()}");
}
?>

Если я заменил mydata на mysql, которая ранее была создана на wamp-сервере, тогда код работает отлично. Единственная проблема с базами данных, которые я создаю. Я попытался дать mydata те же привилегии, что и для базы данных mysql, но она не работает.

enter image description here

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

на вашем P C работает несколько серверов баз данных, и ваш код и ваш phpmyadmin подключаются к разным базам данных

Чтобы получить подтверждение, выполните следующий запрос в phpmyadmin:

show databases;

И затем выполните тот же запрос в PDO:

$host = 'your db host';
$user = 'your db username';
$pass = 'your db password';

$pdo = new PDO("mysql:host=$host", $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$databases = $pdo->query('show databases')->fetchAll(PDO::FETCH_COLUMN);
var_dump($databases);

или mysqli

$host = 'your db host';
$user = 'your db username';
$pass = 'your db password';

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect($host, $user, $pass);
$databases = $mysqli->query('show databases')->fetch_all();
var_dump($databases);

и сравните вывод. Он покажет вам, что есть орфографическая ошибка или действительно phpmyadmin и PHP подключены к различным серверам баз данных

Затем вы можете проверить файл конфигурации в PHPmyAdmin и убедиться, что он подключается к нужному серверу

0 голосов
/ 13 марта 2020

попробуйте таким образом

изменить host = localhost ; на хост = 127.0.0.1;

...