PHP PDO

时间:2015-11-01 09:55:25

标签: php mysql apache pdo ubuntu-14.04

我分别安装在我的Ubuntu 14.0.4 Apache,PHP,MySQL上,我试图打开与数据库的连接,我收到以下错误“找不到驱动程序”。我尝试了很多解决方案,但似乎没有任何工作。

例如:php5-mysql is already in newest version

或者:

PDO
PDO support => enabled
PDO drivers => mysql, odbc, pgsql
PDO Driver for MySQL => enabled
PDO_ODBC
PDO Driver for ODBC (unixODBC) => enabled
PDO Driver for PostgreSQL => enabled

以上部分代码:

<?php
    ini_set('display_errors', 'On');
    error_reporting(E_ALL | E_STRICT);

    require_once 'dbcredentials.php';

    try{

        $dsn = "myslq:host=$dbhost; dbname=$db";
        $dbh = new PDO($dsn, $dbuser, $dbpass);

        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
        $result = $dbh->exec($sql_create_user_tbl);
        // more code  

    }
    catch (PDOException $e) {
        echo $e->getMessage();
    }  

随意分享一些想法

2 个答案:

答案 0 :(得分:1)

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

require_once 'dbcredentials.php';

try{

    $dsn = "mysql:host=$dbhost; dbname=$db";
    $dbh = new PDO($dsn, $dbuser, $dbpass);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $result = $dbh->exec($sql_create_user_tbl);
    // more code  

}
catch (PDOException $e) {
    echo $e->getMessage();
} 

你的mysql拼写错误,应该是mysql而不是myslq

答案 1 :(得分:0)

这可能是$ dsn中的语法问题。尝试在dbname之前删除空格并修复&#​​34; mysql&#34;