[英]Error: Access denied for user 'www-data'@'localhost'
[英]Access denied for user 'www-data'@'localhost'
运行代码时出现此错误。 如何将用户www-data
更改为root
?
//终端中记录的错误
[Tue Mar 03 10:33:01.023877 2015] [:error] [pid 3161] [client 127.0.0.1:37725] PHP Warning: mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/html/wow/register.php on line 23, referer: http://localhost/wow/register.php
[Tue Mar 03 10:33:01.023957 2015] [:error] [pid 3161] [client 127.0.0.1:37725] PHP Warning: mysql_query(): A link to the server could not be established in /var/www/html/wow/register.php on line 23, referer: http://localhost/wow/register.php
// Codes inside register.php
<?php
require('config.php');
if(isset($_POST['submit'])){
//Perform the verification of the nation
$email = $_POST['email'];
$confirmEmail = $_POST['confirmEmail'];
$pass = $_POST['pass'];
$confirmPass = $_POST['confirmPass'];
if($email == $confirmEmail){
if($pass == $confirmPass){
//All good, Carry on.
$firstName = mysql_escape_string($_POST['firstName']);
$lastName = mysql_escape_string($_POST['lastName']);
$userName = mysql_escape_string($_POST['userName']);
$email = mysql_escape_string('email');
$confirmEmail = mysql_escape_string('confirmEmail');
$pass = mysql_escape_string('pass');
$confirmPass = mysql_escape_string('confirmPass');
mysql_query("INSERT INTO `users` (`id`, `firstName`, `lastName`, `userName`, `email`, `pass`) VALUES (NULL, '$firstName', '$lastName', '$userName', '$email', '$pass')") or die("Can't Connect!");
} else{
echo "Sorry, your passwords do not match. <br />";
}
} else {
echo "Sorry, your email's do not match. <br />";
}
} else{
$form = <<<EOT
<form action="register.php" method="POST">
First Name: <input type="text" name="firstName"/><br />
Last Name: <input type="text" name="lastName"/><br />
Username: <input type="text" name="userName"/><br />
Email: <input type="text" name="email"/><br />
Confirm Email: <input type="text" name="confirmEmail"/><br />
Password: <input type="password" name="pass"/><br />
Confirm Password: <input type="password" name="confirmPass"/><br />
<input type="submit" value="Register" name="submit"/>
</form>
EOT;
}
echo $form;
?>
第一个错误是当您尝试连接到数据库时。
在config.php
,作为数据库用户,您可能会看到类似www-data
,将其更改为正确的用户名和密码。
您也可以在您的项目中搜索单词www-data
。
您遇到了第二个错误,因为第一个错误。 由于您的连接失败,因此您的链接为null
您的MySQL用户名或密码不正确(当前为空白),或者不允许用户www-data在域localhost上连接。
您需要在MySQL中创建一个用户并为该数据库分配访问权限和特权,或者如果已经完成,请检查是否输入了正确的详细信息。
另外,现在不建议使用mysql_connect和'mysql'函数。 升级到mysqli。
您可以使用一些参考入门。
https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial
数据库在哪里? 您正在使用Godaddy托管吗? 从昨天3月3日UTC大约16点开始,似乎有多个网站受此错误影响。 (您的时间与此事件匹配)如果您确定用户名,用户名,密码或用户ID的特权未更改,请与db admin进行联系以对ID进行一些还原。 (附:我的观点不允许发表评论)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.