PHP登录页面因root用户错误而拒绝访问,并期望参数1为mysqli,bool给定[重复]
Posted
技术标签:
【中文标题】PHP登录页面因root用户错误而拒绝访问,并期望参数1为mysqli,bool给定[重复]【英文标题】:PHP login page giving access denied for root user error and expects parameter 1 to be mysqli, bool given [duplicate] 【发布时间】:2020-08-04 23:56:54 【问题描述】:所以我正在创建我的第一个网站并尝试通过 xaamp 连接到我在 apache 服务器上运行的 mysql 数据库
我的代码在下面,当我尝试登录时它给出的错误,还附上了数据库的屏幕截图
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST")
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1)
session_register("myusername");
$_SESSION['login_user'] = $myusername;
header("location: index.html");
else
$error = "Your Login Name or Password is invalid";
?>
config.php:
define('DB_SERVER', '127.0.0.1');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'rootpassword');
define('DB_DATABASE', 'database');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
错误:
警告:mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in D:\xampp\htdocs\Website\Websiteassesment\config.php on line 6
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli,布尔值在第 8 行的 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 中给出
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli,布尔值在第 9 行的 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 中给出
警告:mysqli_query() 期望参数 1 为 mysqli,布尔值在 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 第 12 行给出
警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,在第 13 行的 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 中给出 null
注意:尝试访问第 14 行 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 中 null 类型值的数组偏移量
警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,在第 16 行的 D:\xampp\htdocs\Website\Websiteassesment\loginform.php 中给出 null
任何帮助将不胜感激
【问题讨论】:
您是否搜索过错误?问题从第一条错误消息开始。您也可以查阅副本和谷歌。你会看到一个“工具”有多好;-) 不要存储纯文本密码,改用password_hash()
。
【参考方案1】:
该错误表示您的 mySQL 登录凭据不正确。检查用户名root
和密码rootpassword
是否正确。
【讨论】:
正确在哪里?对不起,我真的很陌生 您的数据库登录详细信息在config.php
中定义。错误意味着细节不正确。如果您在本地环境即您的计算机上,密码可能是一个空字符串,因此修改为define('DB_PASSWORD', '');
以上是关于PHP登录页面因root用户错误而拒绝访问,并期望参数1为mysqli,bool给定[重复]的主要内容,如果未能解决你的问题,请参考以下文章
错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问
用户 'root'@'localhost' 的访问被拒绝(使用密码:否)
错误:(1045)用户'root'@'localhost'的访问被拒绝(使用密码:否)
PHP和MySQLi错误-用户'root'@'localhost'的访问被拒绝(使用密码:否)[重复]