我可能有一个令人难以置信的愚蠢问题......
我有以下代码,它应该工作。所有凭据都有效,我用不同的脚本测试它们。 但是,我无法看到代码错误的地方......
有人能帮助我找到问题,所以我能更好地理解它吗?
define("HOST", "localhost"); // The host you want to connect to.
define("USER", "deb63058_DomiSec"); // The database username.
define("PASSWORD", "ypPN7UY6aaxLxw7D6qwTrkJ3"); // The database password.
define("DATABASE", "deb63058_Domi"); // The database name.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE) ;
// If you are connecting via TCP/IP rather than a UNIX socket remember to add the port number as a parameter.
$con=mysqli_connect("localhost","deb63058_DomiSec","ypPN7UY6aaxLxw7D6qwTrkJ3","deb63058_Domi");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL !!!: " . mysqli_connect_error();
}
给出以下错误:
Failed to connect to MySQL !!!: Access denied for user 'deb63058_DomiSec'@'%' to database 'deb63058_Domi'
'@%'在错误消息中的含义是什么? 我连接到本地交钥匙linux服务器
答案 0 :(得分:3)
'deb63058_DomiSec'@'%'
表示已创建用户,以便它可以从任何主机访问数据库。 %是一个mysql通配符。错误Access denied for user 'deb63058_DomiSec'@'%' to database 'deb63058_Domi'
表示密码正确,但用户无权访问该数据库。使用以下命令检查mysql中该用户的priv:SHOW GRANTS FOR 'deb63058_DomiSec'@'%';
然后添加所需的必要权限。