php - SQLSTATE[HY000] [1049] 未知数据库 PDO
问题描述
收到一个错误,指出我的用户不知道该数据库,即使它存在并且拼写正确。我已授予他们对数据库的所有权限,我可以通过服务器中的 mysql 命令行访问它,并且可以通过 mysql 工作台访问它,但是当我尝试在我的 api 中使用 pdo 访问它时。我也无法与用户创建新模式。
我从 mysql.user 检查了用户、主机,它显示用户有 % 和 localhost。我在 mysqld.cnf 中注释掉了 bind-address 并像这样创建了我的用户。
CREATE USER 'user'@'localhost' IDENTIFIED BY 'myPassword';
CREATE USER 'user'@'%' IDENTIFIED BY 'myPassword';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
我的 pdo 连接
<?php
class Database{
private $host = "127.0.0.1";
private $db_name = "casinoCheckList";
private $username = "user";
private $password = "myPassword";
public $conn;
public function getConnection(){
$this->conn = null;
try{
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
$this->conn->exec("set names utf8");
}catch(PDOException $exception){
echo "Connection error: " . $exception->getMessage();
}
return $this->conn;
}
}
?>
解决方案
推荐阅读
- firebase - 限制谁可以在没有 Firestore 规则或 Firebase 身份验证的情况下获取实时文档更新
- powershell - 使用 Powershell 编辑本地组策略
- python - 从逗号分隔的单词序列中以排序形式打印唯一单词
- php - 使用 PDO 处理 PHP 中的 MySQL 错误 1104
- java - Java 从隐藏在用户点击后面的网站中抓取数据?
- python - 从一个接收数据列表的函数创建多个 matplotlib 图表
- hadoop - hadoop reducer 不考虑两个相等的自定义可写对象相等
- javascript - 在蓝牙管理器组件侦听器函数中发出处理异步函数
- python - SQLite 在插入查询中使用变量
- rest - 如何发送文件作为响应