我正在使用XAMPP设计一个测试页面,该页面使用验证方法登录.到目前为止,我一直使用"根"帐户来判断试图登录的用户是否确实存在(如果我试图以登录用户的身份连接,但它不存在或密码不匹配,它会立即抛出致命错误),但这当然会使根帐户容易受到攻击,因为密码显示在代码中.因此,我考虑创建一个只有SELECT个权限的新用户,并使用它来判断登录用户.然而,每当我try 运行代码时,它也会抛出致命错误.
出现错误的代码:
$conn = new mysqli('localhost', "test_conn", "1234", "mysql");
个
错误消息:
Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'test_conn'@'localhost' (using password: YES) in C:\[path]\sesion.php:41 Stack trace: #0 C:\[path]\sesion.php(41): mysqli->__construct('localhost', 'test_conn', Object(SensitiveParameterValue), 'mysql') #1 {main} thrown in C:\[path]\sesion.php on line 41
用户在phpMyAdmin上 Select (缩写,其余值为"N"或空):
Host User Password Select_priv
% test_conn *A4B6157319038724E3560894F7F932C8886EBFCF Y
localhost test_conn Y
已try 可能的解决方案:
- 将‘localhost’替换为‘127.0.0.1’
- 将‘host’列更改为‘localhost’(我创建的用户将‘%’作为主机,如SELECT语句所示)
- 将‘Localhost’替换为‘%’