php - 如何修复除root以外的任何用户的mysqli返回访问被拒绝
问题描述
我正在尝试编写一个在网站上显示数据库的 php 脚本,但我不知道为什么它只接受 root 用户作为登录名。如果我将任何其他用户放入脚本中,它只会说访问被拒绝。
我尝试使用的用户拥有对该数据库授予的所有权限。
+-----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for user@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD '' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `my_db`.* TO 'user'@'localhost' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------+
<?php
$servername = "localhost";
$username = "root";
$password = "Password";
$dbname = "my_db";
$mysqli = new mysqli( $servername, $username, $password, $dbname );
if ($mysqli->connect_errno){
printf("connect failed: %s\n", $mysqli->connect_errno);
exit();
}
$rs = $mysqli->query( "SELECT * FROM table ORDER BY device_name ASC;" );
解决方案
推荐阅读
- php - 在woocommerce中将类别品牌添加到产品标题
- firebase - Firebase 托管重写设置为将所有其他 URL 传递给特定的 Cloud Functions
- google-maps - Google Places API 文本搜索无法正确过滤地址
- android - 我如何在 react-native 上打开我的 rtmp 流
- typescript - 声明后的 TypeScript 实现类
- c# - C#接口中的内部类
- clang - 构建 LLVM 后的 clang 可执行文件在哪里?
- java - 模糊图像位图并将其设置为背景
- css - Body overflow-x 被语义 UI 设置为隐藏 - 覆盖它是否安全?
- java - 我使用部分构建的 sql 请求不断收到 SQLError