Php 获得;无法获取数据:拒绝用户访问''@';本地主机';到数据库';学院'&引用;
我正在尝试以下代码: index.phpPhp 获得;无法获取数据:拒绝用户访问''@';本地主机';到数据库';学院'&引用;,php,Php,我正在尝试以下代码: index.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?php include 'config.php'; if (!$conn)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
include 'config.php';
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT name, gender, age FROM student';
mysql_select_db('college');
echo $sql;
//echo $conn[] ;
$retval = mysql_query($sql, $conn);
if (!$retval) {
die('Could not get data: ' . mysql_error());
}
while ($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Name :{$row['name']} <br> " .
"Gender : {$row['gender']} <br> " .
"Age : {$row['age']} <br> " .
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
</body>
</html>
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'college');
/* Attempt to connect to MySQL database */
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
#$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD);
if($conn === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
根据线程,我已运行:
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root';
在phpAdmin,它成功了。但仍然得到同样的错误
如果我没记错的话,我以前可以使用root
user使用college
数据库,但现在我遇到了这个异常。这里出了什么问题?函数返回一个对象,您必须使用该对象调用数据库
即
有关更多信息,请访问此链接:我知道问题出在哪里 在
config.php
中,使用mysqli\u connect
初始化连接——注意i
在mysql
之后
但是稍后您将使用mysql\u查询
,noi
。这是另一个试图使用默认(空)凭据连接的驱动程序。这就是为什么在错误消息中看到空用户名
因此,要解决这个问题,请将所有的
mysqli\uucode>函数替换为mysqli\ucode>版本。不要将mysql-use-mysqli或direct-PDO用于数据库连接。我想我使用了mysqli\u-connect
这很奇怪,您显然将“root”作为第二个参数传递,但错误消息说用户是“@”本地主机“,即用户名部分为空字符串。你能再检查一下那个零件吗?可能将文字值放在那里,而不是常量(仅用于测试)。
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root';
include 'config.php';
// Make a connection
$link = mysqli_connect($host, $username, $pw, $db);
// Create query.
$sql = 'SELECT name, gender, age FROM student';
// Apply query.
$result = mysqli_query($link, $sql);