Php 未捕获的PDO异常:SQLSTATE[HY000][1049]
我目前正在一个案例项目中设置我的DB连接,并收到“未捕获的PDOException:SQLSTATE[HY000][1049]”消息 我已经仔细检查了10次凭证,不明白为什么会出现错误 我的直接想法是,由于我的服务器是在localhost:8080上设置的,所以它对端口:8080有一些事情要做,但我找不到任何解决问题的方法Php 未捕获的PDO异常:SQLSTATE[HY000][1049],php,sql,json,phpmyadmin,Php,Sql,Json,Phpmyadmin,我目前正在一个案例项目中设置我的DB连接,并收到“未捕获的PDOException:SQLSTATE[HY000][1049]”消息 我已经仔细检查了10次凭证,不明白为什么会出现错误 我的直接想法是,由于我的服务器是在localhost:8080上设置的,所以它对端口:8080有一些事情要做,但我找不到任何解决问题的方法 // DB Parameters private $host = 'localhost'; private $db_name = 'carshop';
// DB Parameters
private $host = 'localhost';
private $db_name = 'carshop';
private $username = 'root';
private $password = '';
private $conn;
这是我在这行代码中输入的参数
$this->conn = new PDO('mysql:host=' . $this->host . ';dbname= ' . $this->db_name, $this->username, $this->password);
以前在早期的数据库上也使用过相同的凭据设置,但现在我无法使其正常工作。
您是否看到或知道我不知道的内容?尝试删除
dbname='
中=
后的空格。已阅读此内容:?尝试指定dsn中的端口,交换dsn中的主机和dbname位置,并删除dbname=
后的空格。调试这种类型的问题可能会很痛苦。。。我总是有一个单独的SQLIDE,可以用来检查Mysql数据库。我使用HeidisqlIDE。这允许我测试连接、表等,然后让数据库在其中工作。然后,我可以开始了解PHP设置的问题所在。我将声明DSN在空格和字母方面确实需要正确!你面对的是非常迂腐的系统。DSN必须与数据库参数和DSN规范完全匹配。PHP驱动程序是特定的-任何地方都没有额外的空格!谢谢你们!在您的眼睛和知识的帮助下解决了问题!