2017-03-17 204 views
0
<?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扩展已启用,请检查两次。PHP:找不到驱动程序(PDO,MySql)

我的代码有什么问题?

预先感谢您。

回答

4

更正$ 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); 
+0

成功删除错误。但另一个问题出现,我的页面连接到这个连接加载像永远。我是否需要更改整个代码? – ShafiqqAziz

+0

您可以尝试删除此行“require_once'functions.php';”。它还会发生吗? –

+0

到目前为止,它很顺利,我会接受你的回答 – ShafiqqAziz