$link = mysql_connect('localhost', $username, $password);
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
我收到此错误:
无法连接:用户'www-data'@'localhost'拒绝访问(使用密码:否)
为什么?
编辑:
$username="root";
$password="root";
$database="test";
function Save($name)
{
$link = mysql_connect('localhost', $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO test (name)" .
"VALUES ('" . $name . "')";
mysql_query($query);
mysql_close();
}
答案 0 :(得分:5)
您是否提供了$username
和$password
值?像这样的东西?
$username="root";
$password="";
答案 1 :(得分:2)
您的$password
变量为空((using password: NO)
),然后您尝试在没有密码的情况下登录www-data
用户,并且服务器结果被拒绝访问。这个用户可以设置密码。
答案 2 :(得分:1)
从您的编辑中,问题似乎是一个范围问题。
您正在尝试在函数内部建立连接,其中$username
,$password
和$database
变量是在该函数之外定义的。
我建议您阅读本手册的Variable Scope部分,并在问题评论中提出错误报告,如@netcoder所示。
答案 3 :(得分:0)
我认为问题在于,您尝试连接数据库两次。 在代码的某处,您已经尝试使用用户名“www-data”连接到数据库......再次使用用户名“root”连接到数据库。
您使用用户名“www-data”提供的密码也是错误的,即您收到错误消息。
答案 4 :(得分:0)
$username="root";
$password="root";
$database="test";
function Save($name)
{
global $username;
global $password;
global $database;
$link = mysql_connect('localhost', $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO test (name)" .
"VALUES ('" . $name . "')";
mysql_query($query);
mysql_close();
}