无法连接与PDO PHP

问题描述:

<?php 
class DB { 

    private static function connect() { 
      $pdo = new PDO('mysqli:host=localhost;dbname=SocialNetwork;charset=utf8', 'root', ''); 
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      return $pdo; 
    } 

    public static function query($query, $params = array()) { 
      $statement = self::connect()->prepare($query); 
      $statement->execute($params); 

      if (explode(' ', $query)[0] == 'SELECT') { 
      $data = $statement->fetchAll(); 
      return $data; 
      } 
    } 

} 

到mysqli的当我尝试在数据库中插入数据它得到这个错误:无法连接与PDO PHP

Fatal error: Uncaught PDOException: could not find driver in C:\xampp\htdocs\social-media\classes\DB.php:5 Stack trace: #0 C:\xampp\htdocs\social-media\classes\DB.php(5): PDO->__construct('mysqli:host=loc...', 'root', '') #1 C:\xampp\htdocs\social-media\classes\DB.php(11): DB::connect() #2 C:\xampp\htdocs\social-media\create-account.php(10): DB::query('SELECT username...', Array) #3 {main} thrown in C:\xampp\htdocs\social-media\classes\DB.php on line 5

+1

PDO没有'mysqli' __uri__。它是'mysql':'新的PDO('mysql:host = localhost;' –

+0

[PDOException“找不到驱动程序”在php中可能出现重复(https://*.com/questions/9308147/pdoexception-could- not-find-driver-in-php) –

你需要在你的php.ini

查找激活pdo_mysql一排extension=php_pdo_mysql.dll使用CTRL+F并重新启动您的网络环境。

+0

对于'unix'系统? –

驱动程序名称不正确。使用“mysql:...”

$pdo = new PDO('mysql:host=localhost;dbname=SocialNetwork;charset=utf8', 'root', '');