Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未捕获的PDO异常:SQLSTATE[HY000][1049]_Php_Sql_Json_Phpmyadmin - Fatal编程技术网

Php 未捕获的PDO异常:SQLSTATE[HY000][1049]

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连接,并收到“未捕获的PDOException:SQLSTATE[HY000][1049]”消息

我已经仔细检查了10次凭证,不明白为什么会出现错误

我的直接想法是,由于我的服务器是在localhost:8080上设置的,所以它对端口:8080有一些事情要做,但我找不到任何解决问题的方法

// 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驱动程序是特定的-任何地方都没有额外的空格!谢谢你们!在您的眼睛和知识的帮助下解决了问题!