2014-10-17 121 views
0

我有一个脚本,我需要连接到MySQL数据库。但不知何故连接失败。任何人都可以帮我检查问题吗?谢谢你。db无法连接在php

$username = "root"; 
$password = ""; 
$hostname = "localhost"; 
$dbname = "vti_ctes_demo"; 

$con = mysql_connect($hostname, $username, $password); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
}else 
{ 
    echo 'connected'; 
} 

// make foo the current db 
$db_selected = mysql_select_db($dbname, $con); 
if (!$db_selected) { 
    die ('Can\'t use vti_ctes_demo : ' . mysql_error()); 
}else 
{ 
    echo 'connected'; 
} 

我运行查询的那一刻,我得到这个错误:

Can't use vti_ctes_demo : Access denied for user ''@'localhost' to database 'vti_ctes_demo' 

我已经设置了用户名作为“根”,但现在看来似乎不能接收的用户名。顺便说一句,第一次连接是成功的。就在这一点,当它连接到分贝,那么错误出现了。

+0

检查:字符串 $用户名 [可选] 的用户名。默认值由mysql.default_user定义。在SQL安全模式下,该参数将被忽略,并使用拥有服务器进程的用户的名称。 – 2014-10-17 08:15:57

+0

我该如何检查?我该怎么办? – Verlee 2014-10-17 08:19:53

+0

http://www.cpanelkb.net/sql-safe-mode-in-effect-errors/ – 2014-10-17 08:29:37

回答

0

如果您想要对数据库vti_ctes_demo进行外部访问,则需要授予用户“root”的特权。

Use this to grant permission to the user

+0

怀疑这是问题 - 似乎用户名不用于验证数据库用户。 – 2014-10-17 08:41:25