gpt4 book ai didi

php - 运行 PHP5 : access denied to MySQLi connection but success for MySQL

转载 作者:可可西里 更新时间:2023-10-31 23:47:15 25 4
gpt4 key购买 nike

我运行这段代码得到如下图所示的输出:

<?php
phpinfo();
?>

enter image description here

问题是,我不明白为什么会这样:

$conn = @mysql_connect('host', 'user', 'pass') or die(mysql_error());
@mysql_select_db('dbName') or die(mysql_error());

$query="SELECT * FROM Clients";

$result = @mysql_query($query) or die(mysql_error());
if ($result)
{
$outp = "";
while ($row = mysql_fetch_assoc($result))
{

if ($outp != "") {$outp .= ",";}
$outp .= '{"ClientID":"' . $row["cID"] . '",';
$outp .= '"ClientsName":"' . $row["clientsName"] . '"}';
}
mysql_free_result($result);
}
$outp ='{"records":['.$outp.']}';
echo($outp);

但这不是:

$conn = new mysqli("host", "user", "pass", "dbName");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$result = $conn->query("SELECT * FROM Clients");

$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"ClientID":"' . $rs["cID"] . '",';
$outp .= '"ClientsName":"' . $rs["clientsName"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();

echo($outp);

我得到的错误是:

Connection failed: Access denied for user 'user'@'host' to database 'dbName'

我读到只要 PHP5 正在运行,MySQLi 也已经安装。我还需要检查什么?也许我在我的代码中做错了什么?这是我第一次尝试使用 MySQLi,我已经很多年没有连接到数据库了,不得不翻阅旧代码只是为了获得连接到数据库的旧 SQL 方式。

最佳答案

您的代码看起来非常好。

确保身份验证详细信息中没有拼写错误。

其次,MySQL用户与主机绑定(bind)。例如 root@localhost。如果您从远程主机连接,请确保您已设置用户,如 root@123.123.123.123 或使用 % 通配符允许所有主机,如 root@%.

希望这对您有所帮助。

关于php - 运行 PHP5 : access denied to MySQLi connection but success for MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30363045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com