Php 致命错误-无法连接到数据库

Php 致命错误-无法连接到数据库,php,mysql,Php,Mysql,我试图创建一个简单的php博客,并从这里下载演示文件- 创建数据库(名为blog01)和表成功 在index.php上,我有一个错误: 致命错误:未捕获的异常“PDOException”,在第11行的D:\localhost\blog-01\includes\config.php中显示消息“PDOException” config.php: define('DBHOST','localhost'); define('DBUSER','username'); define('DBPASS','pa

我试图创建一个简单的php博客,并从这里下载演示文件-

创建数据库(名为
blog01
)和表成功

在index.php上,我有一个错误:
致命错误:未捕获的异常“PDOException”,在第11行的D:\localhost\blog-01\includes\config.php中显示消息“PDOException”

config.php:

define('DBHOST','localhost');
define('DBUSER','username');
define('DBPASS','password');
define('DBNAME','blog01');

$db = new PDO("mysql:host=".DBHOST.";port=8889;dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
我尝试了用户名和密码的所有组合(演示、管理…),但没有成功

也尝试了不使用端口=8889的情况

php版本-5.6.14


任何帮助。

您可以添加一个try和一个catch来查看以下消息:

仅当端口与默认端口(3306用于mysql)不同时才需要该端口

如果是这种情况,则连接为:

$db = new PDO("mysql:host=".DBHOST.";dbname=".DBNAME, DBUSER, DBPASS);

因此
config.php
中的第11行是
$db=new-PDO(“mysql:host=“.DBHOST.”port=8889;dbname=“.dbname,DBUSER,DBPASS”)?在
config.php
中似乎没有11行,您的服务器真的监听端口8889吗?MySQL的标准端口是3306。错误的端口会生成error@Zimmi,我写道-我在没有bonaca的情况下尝试了
port=8889
,因此Perry的回答应该被接受-现在你可以看到你使用的用户名/密码不正确,只有你才能知道这些是什么Perry,现在我有了这个-
SQLSTATE[HY000][1045]对用户“Admin”@“localhost”的访问被拒绝(使用密码:是)
@bonaca好的,这意味着用户名和/或密码不正确。你应该检查你想使用的用户是否存在,密码是否属于该用户。你是否安装了phpmyadmin?这是一种很容易验证的方法,如果不正确,你可以更改或添加一个新用户到你的mysqlI中,检查表
博客成员e只有一个用户,名为
Admin
,密码是
2y$10$wJxa1Wm0rtS2BzqKnoCPd.7QQzgu7D/aLlMR5Aw3O.m9jx3oRJ5R2
。我怎么知道真正的密码呢?不,你不需要用户名,因为这是用于你的应用程序的,你需要用户名mysql,我想你会有一个root用户。所以你可以使用这个帐户,如果它是开着的话在本地机器上学习。你也可以向mysql添加一个用户。如果你使用phpmyadmin,你可以使用用户名和密码登录。Perry,如果我理解你的意思,我需要phpmyadmin的用户名和密码?我尝试了user
root
而没有任何密码,我被重定向到form index.php到admin/login.php,使用一个登录表单。在这里我尝试了各种组合-root、admin、demo…但没有成功。我确信我从未为phpMyAdmin设置任何密码。
$db = new PDO("mysql:host=".DBHOST.";dbname=".DBNAME, DBUSER, DBPASS);