0

我可能有一个令人难以置信的愚蠢问题......

我有以下代码,它应该可以工作。所有凭据都有效,我使用不同的脚本对其进行了测试。但是,我看不出代码错在哪里......

有人可以帮助我找到问题,以便我更好地理解它吗?

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 服务器

4

1 回答 1

3

'deb63058_DomiSec'@'%'表示已创建用户,以便它可以从任何主机访问数据库。% 是一个 mysql 通配符。该错误Access denied for user 'deb63058_DomiSec'@'%' to database 'deb63058_Domi'表明密码正确,但用户无权访问该数据库。使用以下命令在 mysql 中检查该用户的权限:SHOW GRANTS FOR 'deb63058_DomiSec'@'%'; 然后添加您需要的必要权限。

于 2013-10-04T13:26:52.287 回答