<?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/