PHP - 连接到MySQL Turnkey Linux

时间:2013-10-04 13:22:56

标签: php mysql

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

我有以下代码,它应该工作。所有凭据都有效,我用不同的脚本测试它们。 但是,我无法看到代码错误的地方......

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

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

1 个答案:

答案 0 :(得分:3)

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