2015-02-23 114 views
0

我尝试在运行Apache 2.4.10和PHP 5.6.4的脚本的Windows Server 2102 R2上使用PDO进行连接,并得到错误“Class”PDO '尝试连接时找不到'。在Windows Server 2012 R2和PHP 5.6.4上找不到PDO

这里是代码调用

ini_set('display_errors', 'On'); 
require_once('c:/path/site_inc.php'); 

switch($_REQUEST['action']){ 
    case 'getList': 
     getList(); 
     break; 
} 
function getList(){ 
    $dbh = dbConnect(); 
    $pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate"); 
    $pstmt->execute(array($_COOKIE['appsuname'])); 
    echo json_encode($pstmt->fetchAll(PD0::FETCH_ASSOC)); 
} 

function dbConnect(){ 
    $DBH = new PDO(ccappConfig::mysqlDSN, ccappConfig::mysql_user, ccappConfig::mysql_pword); 
    return $DBH; 
} 

我已经测试,以确保PDO的连接可用以下方式

if(class_exists('PDO')){ 
    echo "PDO Installed<br />"; 
} else { 
    echo "PDO NOT Installed<br />"; 
} 
phpinfo(); 

这将返回“PDO安装”和phpinfo()函数确认pdo_mysql与mysql(正在被淘汰)和mysqli一起安装。

我不知道为什么会产生这个错误,并且php_pdo.dll已经从5.3版本中删除了,所以我不相信我错过了一个驱动程序,我也不相信这是由于phpinfo()在PDO标题下返回mysql和sqlite驱动程序都被启用。

我在这里丢失了什么,或者我的代码丢失了吗?

+0

尝试在Stac上搜索k溢出一些问题,如http://stackoverflow.com/questions/7086859/pdo-drivers-no-value-in-windows – floor 2015-02-23 22:11:08

+0

因为这是指“没有驱动程序”我有驱动程序,他们正在按我的问题解释运行。 – aallord 2015-02-23 22:14:00

+0

对不起,我错过了最后的部分。我不太了解Windows服务器配置,但你有没有遵循这些指示http://php.net/manual/en/pdo.installation.php?你可能错过了PDO的特定数据库选项的部分 - > http://php.net/manual/en/pdo.drivers.php – floor 2015-02-23 22:18:31

回答

0

我发现这里的误差

function getList(){ 
$dbh = dbConnect(); 
$pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate"); 
$pstmt->execute(array($_COOKIE['appsuname'])); 
echo json_encode($pstmt->fetchAll(PD0::FETCH_ASSOC)); 

}

上述代码应

function getList(){ 
$dbh = dbConnect(); 
$pstmt = $dbh->prepare("SELECT * FROM announcements WHERE user=? ORDER BY startDate"); 
$pstmt->execute(array($_COOKIE['appsuname'])); 
echo json_encode($pstmt->fetchAll(PDO::FETCH_ASSOC)); 

}

第一嵌段为0(零),而不是O.

相关问题