0

我正在创建一个这样的 PDO 对象:

try {                                      
   $dbh = new PDO( "mysql:host=$host;dbname=$db_name" , $user, $passwd );     
} catch( PDOException $e ) {
   echo 'Caught exception: ', $e->getMessage(), "\n";
   die();
}

但是没有错误,没有异常,并且 PDO 对象中没有任何内容:

var_dump( $dbh );

输出:

object(PDO)#5 (0) {
}

用户名/密码和数据库名称都正确。

非常感谢。

4

3 回答 3

5

这应该是一个有效的 PDO 对象。尝试使用它来确认。

是什么让您认为它“构造不正确”?

于 2012-10-29T13:25:24.100 回答
0

尝试 thi 进行 pdo 连接

    <?php
/* Connect to an ODBC database using driver invocation */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

当你运行这个时,你会得到 vardump($dbh) 作为

= 对象(PDO)#1 (0) { } =

参考:这里

于 2012-10-29T13:25:28.187 回答
0

您能否通过使用 PDO 安装在服务器上的 phpinfo() 函数来确认。如果 PDO 安装在服务器上,则使用以下方法连接到数据库:

 $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

主机:本地主机或取决于您的服务器。

dbname : 数据库名称

$user : 数据库用户名

$pass : 数据库密码

于 2012-10-29T13:35:09.617 回答