首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中存在未知数据库错误,但在PHPMyAdmin中存在此错误

问PHP中存在未知数据库错误,但在PHPMyAdmin中存在此错误
EN

Stack Overflow用户
提问于 2020-03-13 06:31:04
回答 1查看 2.5K关注 0票数 1

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

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

如果我用以前在wamp服务器中创建的数据库mysql来代替mydata,那么代码就能很好地工作。唯一的问题是我创建的数据库。我尝试过给予mydata与mysql数据库相同的特权,但是它不起作用。

​

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-13 07:43:25

要么是

  • 拼写错误.
  • 或PHP代码和PHPMyAdmin连接到不同的数据库

。

例如,如果您的PC上安装了多个数据库服务器,则可能会发生后一种情况。

要获得证据,请在phpmyadmin中运行以下查询:

代码语言:javascript
复制
show databases;

然后在PHP中运行相同的查询,使用任何一个PDO:

代码语言:javascript
复制
$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);

或者我的女儿

代码语言:javascript
复制
$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中检查配置文件,以确保它连接到正确的服务器。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60665821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档