我见过几个类似的帖子,但没有一个真正有助于解决我的问题。我正在尝试连接到我使用MySQL workbench创建的数据库。根据我在Workbench中的用户权限,有一个GUI,允许您启用所有授权和权限。
当我运行脚本show grants for phpTester@localhost;
时,它会显示:
GRANT ALL PRIVILEGES ON *.* TO 'phpTester'@'localhost' WITH GRANT OPTION
所以我知道我拥有所有权限,并且WorkBench还有一个插件,您可以将SQL复制到剪贴板,它会自动提取您的数据库设置,这样您就可以复制并粘贴到PHP脚本中。所以我的脚本看起来像这样:
define('DB_NAME', 'forms1');
define('DB_USER', 'phpTester');
define('DB_PASSWORD', '12345');
define('DB_HOST', 'localhost');
define('DB_PORT', 2080);
$link = mysql_connect(DB_HOST, DB_USER,DB_PASSWORD, DB_PORT);
if (!$link){
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if(!$db_selected){
die('Not Working ' . DB_NAME . ':' . mysql_error());
}
失败并显示错误:
Warning: mysql_connect(): Access denied for user 'phpTester'@'localhost' (using password: YES) on line 10
Could not connect: Access denied for user 'phpTester'@'localhost' (using password: YES)
当我使用这行PHP时:
$link = mysql_connect(DB_HOST, DB_USER);
我收到此错误:
Not Working forms1:Access denied for user ''@'localhost' to database 'forms1'.
但是我确实为这个用户设置了密码,我正在使用xampp作为我的localhost。
答案 0 :(得分:0)
原来我连接的是错误的主机,这是一个非常简单的修复,而不是连接到'localhost'你必须连接到标准的127.0.0.1环回IP地址和端口3306.然后你输入你的信息像你的phpmyadmin中的用户和密码,你应该连接。确保在您的phpmyadmin中该用户具有您需要的权限。你去了,你的工作台连接到你的phpmyadmin。