警告:mysqli_connect():( HY000 / 1045):第6行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ config.php中的用户'用户名'@'localhost'(使用密码:YES)拒绝访问警告: mysqli_real_escape_string()期望参数1为mysqli,第10行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出布尔值警告:mysqli_real_escape_string()期望参数1为mysqli,C:\ Users \中给出布尔值第11行的xampp \ htdocs \ PHP_Login_Script \ login.php警告:mysqli_query()期望参数1为mysqli,第15行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出布尔值警告:mysqli_fetch_array()期望参数1为mysqli_result,在第16行的C:\ Users \ xampp \ htdocs \ PHP_Login_Script \ login.php中给出null警告:mysqli_num_rows()要求参数1为mysqli_result,在C:\ Users \ xampp \ htdocs \中给出null第19行的PHP_Login_Script \ login.php
我在localhost上遇到这个错误,即使我的配置文件是这样的:
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "databasename");
$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>
这曾经有用,但现在已经没有了 . 这段代码有什么问题或现在不能正常工作吗? This是我正在进行的教程 .
17 回答
你定义为DB_USER,但用作DB_USERNAME . 另外php说用户名@ localhost无法访问 . 不是root @ localhost .
更改您的定义或连接参数 .
定义参数中存在拼写错误,将 DB_HOST 更改为 DB_SERVER 并将 DB_USER 更改为 DB_USERNAME :
这是你的代码:
导致此消息的唯一错误是:
DB_USER
,但你正在调用DB_USERNAME
.下次请更加小心 .
对于想要在
PHP
开始编码的入门级程序员来说,最好不要使用他或她不太了解的内容 .仅作为建议,请尝试使用(第一次)代码更普遍 .
例:不要使用
define()
语句,尝试使用变量声明为$db_user = 'root';
有一个很好的经历:)
XAMPP 7和opencart Arabic 3也面临同样的问题 . 用实际的机器名替换localhost会重新解决这个问题 .
用户名,主机和密码的组合不允许连接到服务器 . 验证服务器上的权限表(如果需要,重新加载授权)以及您正在连接到正确的服务器 .
如果你正在运行wamp update
给你的机器ip地址(我的是192.168.0.25);
您可以通过在控制台中键入ipconfig或在mac / linux上键入ifconfig在窗口中找到它
mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
使用DB_HOST而不是DB_SERVER
查看代码您定义了DB_HOST并查询DB_SERVER . DB_USER和DB_USERNAME使用此代码
确保您的密码没有特殊字符,只保留一个普通密码(例如:12345),它将起作用 . 这是我见过的最奇怪的事情 . 我花了大约2个小时来搞清楚这一点 .
注意:下面提到的12345是您的普通密码
使用AWS RDS MySQL,我遇到了同样的问题 . 刚才,answered类似question这里 . 看了各种各样的消息来源,但截至这个帖子,几乎都缺乏答案 . 虽然这个线程帮助了我,但请记住更新服务器上的主机名 . 访问您的SSH并按照以下步骤操作:
Now, Appending here your hostnames: 例如:
现在,按如下方式配置
config/database.php
:其中
35.150.12.345
是您的IPv4公共IP,位于ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public
IP('35.150.12.345')处 .Note: Please note that only IPV4 will work at 'hostname' option. hostname, cname, domains will output database connection error.
上面已经回答了这个问题,只是为了让你在连接中同时使用所有四个字符串感觉很舒服
我试图与不同的用户连接时遇到此错误,而不是
root
我设置为限制访问 .在mysql中我设置用户
MofX
与主机%
,它将无法连接 .当我将用户的主机更改为
127.0.0.1
时,如'MofX' @ '127.0.0.1',它有效 .就我而言,问题是:
(双倍之前的奇数单曲)
尝试
那些是警告尝试
但我会建议您设置root密码
你有两个同时连接吗?如果是这样,每次不需要时关闭 .
比它工作正常!
尝试改变:
对此: