致命错误:未捕获PDOException:SQLSTATE [HY000] [2019]未知字符集

时间:2017-06-22 21:34:49

标签: php mysql pdo xampp

我正在尝试了解PDO,因此我可以远离使用mysqli函数,但在连接数据库时似乎无法使DSN正确。我不知道要使用什么字符集。这是我在phpmyadmin中确定的东西,还是已经设置好的东西,我必须找到它?不确定。

我正在尝试连接的XAMPP程序上设置MySQL数据库。下面是我的db.php文件中的代码和完整的错误消息。

//  CREATE PDO OBJECT WITH CONSTRUCTOR
$db = new PDO('mysql:host=localhost;dbname=phpdemo;charset=utf8', 'root', '');

//  SET ATTRIBUTE RELATED TO ERROR HANDLING FOR SECURITY
$db -> setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$fb -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  

致命错误:未捕获PDOException:SQLSTATE [HY000] [2019] C:\ xampp \ htdocs \ PHP \ PDO Lab \ includes \ db.php中的未知字符集:3堆栈跟踪:#0 C:\ xampp \ htdocs \ PHP \ PDO Lab \ includes \ db.php(3):PDO-> __ construct('mysql:host = loca ...','root','')#1 C:\ xampp \ htdocs \ PHP \ PDO Lab \ includes \ header.php(6):include_once('C:\ xampp \ htdocs ...')#2 C:\ xampp \ htdocs \ PHP \ PDO Lab \ new_user.php(2):include_once(' C:\ xampp \ htdocs ...')在第3行的C:\ xampp \ htdocs \ PHP \ PDO Lab \ includes \ db.php中抛出#3 {main}

编辑:我尝试过使用utf8mb4会导致同样的错误。

Edit2:我刚刚意识到打开db.php文件时没有出现任何错误。当我打开我的new_user.php文件时,我确实收到错误,该文件的唯一代码是“include('db.php');”

0 个答案:

没有答案