我已经尝试过在这里以及许多其他论坛上回答的所有解决方案但是都是徒劳的我在使用php连接到mysql数据库时仍然遇到错误
无法连接:拒绝访问用户&root;' @' localhost' (使用密码:否)
这是我的PHP脚本
<?php
$database="test"; //database name
$Uname=$_POST['username'];//this values comes from html file after submitting
$Pwd=$_POST['pwd'];
$con = mysql_connect("127.0.0.1","root" ,"zain");//for wamp 3rd feild is balnk
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("$database", $con);
$query = "INSERT INTO data (UserName,Password)VALUES ('$Uname','$Pwd')";
mysql_query($query);
echo "<script type='text/javascript'>\n";
echo "alert('you are Succesflly registered');
\n";
echo "</script>";
mysql_close();
我的php.config文件就是这个
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'zain';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
答案 0 :(得分:1)
您需要执行以下步骤:
答案 1 :(得分:0)
首先,您应该清理用户输入。基于未转义的用户名连接到数据库可能会对安全性造成危险。
另一点是,我不认为您非常了解如何连接到数据库。
mysql_
处于弃用过程中,可能会在更高版本的PHP中删除。建议您改用mysqli
。
如果您使用面向对象mysqli
,您将连接到如下数据库:
$con = new mysqli($host, $user, $pass, $db);
在您的情况下,您将使用
$con = new mysqli("127.0.0.1", $_POST['username'], $_POST['pwd'], "test");
不要指望这对你有用,你当前状态下的问题太局部化,无法接受你之后的答案。
编辑:我注意到您的数据库名为test
- 为什么您没有尝试连接到该数据库?这zain
到底是什么意思?