Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拒绝用户“rdonly”@“localhost”的访问(使用密码:是)_Php_Mysql_Mysqli_Xampp - Fatal编程技术网

Php 拒绝用户“rdonly”@“localhost”的访问(使用密码:是)

Php 拒绝用户“rdonly”@“localhost”的访问(使用密码:是),php,mysql,mysqli,xampp,Php,Mysql,Mysqli,Xampp,我已经编写了一个PHP应用程序。使用没有密码的根ID工作正常。然后我更改了密码和PHP代码,效果很好 我想创建一个对数据库具有只读访问权限的新用户“rdonly”,这样就没有人知道PHP中嵌入的根密码。我做了修改,得到了上面的错误 然后我给了“rdonly”与root相同的权限,以查看它是否缺少权限。同样的错误 我检查过类似的错误消息。有人建议查看“config.php.ini”文件。我这样做了,但是它没有包含根目录的新密码,这很奇怪,因为新密码有效,如果我错过了密码,我会得到类似的错误 /*

我已经编写了一个PHP应用程序。使用没有密码的根ID工作正常。然后我更改了密码和PHP代码,效果很好

我想创建一个对数据库具有只读访问权限的新用户“rdonly”,这样就没有人知道PHP中嵌入的根密码。我做了修改,得到了上面的错误

然后我给了“rdonly”与root相同的权限,以查看它是否缺少权限。同样的错误

我检查过类似的错误消息。有人建议查看“config.php.ini”文件。我这样做了,但是它没有包含根目录的新密码,这很奇怪,因为新密码有效,如果我错过了密码,我会得到类似的错误

/* config.php.ini */
$cfg['Servers'][$i]['auth_type']     = 'cookie';      // Authentication method (config, http or cookie based)
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
我不知道为什么ini文件是相关的,尽管XAMPP3.2.1似乎允许您更改特权

我做了以下更改,在阅读时将“%”项放入,这意味着除“localhost”之外的所有数据库,因此我也添加了“localhost”项。不确定其他根条目都是关于什么的

rdonly % global                     all-privileges<P>
       % database specific          all-privileges<P> 
rdonly localhost global             all-privileges<P>
       localhost database specific  all-privileges <P>
root   127.0.0.1 global             all-privileges<P>
       127.0.0.1 database specific  all-privileges <P>
root   ::1       global             all-privileges<P>
       ::1       database specific  all-privileges <P>
rdonly localhost global             all-privileges<P>
       localhost database specific  all-privileges <P>
这并不是:

$con=new mysqli("localhost", "rdonly", "password", "mysql");

如蒙指教,我将不胜感激。只是看不到问题所在。

数据库服务器是否与脚本运行在同一台服务器上?我不是专家,但您似乎将rdonly帐户限制为本地主机的连接,127.0.0.1%并不是指所有数据库,而是指所有客户端。这意味着您只能从任何其他系统远程或本地登录到RDS。localhost意味着您只能从本地同一系统登录到rdonly。从技术上讲,MySQL将这些条目视为两个不同的用户。您是如何创建rdonly用户的?我假设您没有正确定义密码。默认情况下,rdonly和root不会共享相同的密码。数据库位于同一台服务器上。我将XAMPP下载到我的笔记本电脑上,并在同一台笔记本电脑上使用Dreamweaver编写脚本。感谢您的帮助。知道这些很有用。我想只需要%的权限。
$con=new mysqli("localhost", "rdonly", "password", "mysql");