连接到mysql数据库时出错。

时间:2017-07-04 19:12:50

标签: php pdo

它可能是重复的,但我完成了stackoverflow上其他帖子中建议的所有解决方案但无法找到解决方案。

return ContentService.createTextOutput(JSON.stringify({message: MyResponse})).setMimeType(ContentService.MimeType.JSON);

我遇到的错误如下:

致命错误:未捕获PDOException:SQLSTATE [HY000] [2019] C:\ xampp \ htdocs \ social_network \ create_account.php中的未知字符集:2堆栈跟踪:#0 C:\ xampp \ htdocs \ social_network \ create_account。 php(2):PDO-> __ construct('mysql:host = 127 ...','root','')#1 {main}在C:\ xampp \ htdocs \ social_network \ create_account.php中引发2

我很欣赏你的快速回复。

4 个答案:

答案 0 :(得分:3)

  

PDO连接

     

注意:您也可以使用localhost代替127.0.0.1

     

供参考: https://www.w3schools.com/php/php_mysql_prepared_statements.asp

<?php
$servername = 127.0.0.1;  //localhost
$username = "root";
$password = "";
$dbname = "social_network";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

答案 1 :(得分:2)

您只需要删除“charset= utf8”中的空格。所以你会有“charset=utf8”。

答案 2 :(得分:0)

对于在XAMPP / WAMP中使用的charset需要特定的。

您可以更改charset = utf8 charset = utf8mb4

答案 3 :(得分:-1)

$host = '127.0.0.1';
$database = 'social_network';
$user = 'root';
$password = '';
$charset = 'utf8';
$options = [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES => false
    ];
$dsn = "mysql:host=$host;dbname=$database;charset=$charset";
$db = new PDO($dsn, $user, $password, $options);

这应该有效!检查此网址(https://phpdelusions.net/pdo)PDO在那里有更好的解释!你的issus是关于charset的