PHP : could not find driver (PDO, MySql)

标签 php mysql pdo

<?php

error_reporting( E_ALL & ~E_DEPRECATED & ~E_NOTICE );
ob_start();
session_start();

define('DB_DRIVER', 'mysql');
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '');
define('DB_DATABASE', 'db_test');

define('PROJECT_NAME', 'Testing create');
$dboptions = array(
        PDO::ATTR_PERSISTENT => FALSE,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAME utf8',
    );

try{
    $DB = new PDO(DB_SERVER. ':host='.DB_SERVER. ';dbname='.DB_DATABASE,DB_SERVER_USERNAME, DB_SERVER_PASSWORD , $dboptions);
}catch (Exception $ex) {
    echo $ex->getMessage();
    die;
}

require_once 'functions.php';

if($_SESSION["errorType"] != "" && $_SESSION["errorMsg"] != "" ){
    $ERROR_TYPE = $_SESSION["errorType"];
    $ERROR_MSG = $_SESSION["errorMsg"];
    $_SESSION["errorType"] = "";
    $_SESSION["errorMsg"] = "";
}

?>

上面的代码给出错误“找不到驱动程序”。我正在关注 this tutorial创建它们,下载它们的源代码并在浏览器上查看,完全没有错误。但是当我试图基于他们创建我的程序时,我得到了错误。仅供引用,我的 PDO 扩展已启用,检查了两次。

我的代码有什么问题?

提前谢谢你。

最佳答案

将 $DB 更正为:

$DB = new PDO(DB_DRIVER. ':host='.DB_SERVER. ';dbname='.DB_DATABASE,DB_SERVER_USERNAME, DB_SERVER_PASSWORD , $dboptions);

下面是更容易理解的示例

$db = new PDO('dblib:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);

关于PHP : could not find driver (PDO, MySql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848062/

相关文章:

mysql - 为什么两个连接比使用 OR 条件的连接运行得更快?

php - PDO 准备语句中的参数编号无效

php - PDO 不从 mysql 查询返回结果

Mysql 字符集和形式

php - 日期格式返回 FALSE

php - 创建图像而不将其存储为本地文件

php - 从 php 到 javascript 传递顺序安全的值

mysql - 如果同名计为1,则sq​​l在组中计数

php - PDO 准备在单个查询中插入多行

php - 更新查询在某些情况下不起作用