PHP中的未知数据库错误,但它存在于PHPMyAdmin中

xxhby3vn  于 2022-10-30  发布在  PHP
关注(0)|答案(1)|浏览(247)

我正在使用PDO连接到mySql数据库。我不能连接到任何我创建的数据库,虽然我可以连接到已经创建的数据库(默认情况下已经创建)。我正在使用wamp服务器。

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

如果我用mysql替换mydata,mysql是之前在wamp服务器中创建的数据库,那么代码就能正常工作。唯一的问题是我创建的数据库。我试过给mydata和mysql数据库一样的权限,但是没有用。

kuarbcqp

kuarbcqp1#

要么是

  • a * 拼写错误。* 只需再次检查姓名。
  • 或者PHP代码和PHPMyAdmin正在 * 连接到不同的数据库 *

例如,如果您的PC上安装了多个数据库服务器,则可能会发生后一种情况。
要获得证明,请在phpmyadmin中运行以下查询:

show databases;

然后在PHP中运行相同的查询,使用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);

或迈斯格利

$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中检查配置文件,以确保它连接到正确的服务器

相关问题