PDO连接错误返回对象(PDO)#1(0){}

时间:2013-08-30 04:08:51

标签: mysql pdo php

var_dump - 返回了object(PDO)#1 (0) { }

我的数据库连接代码如下:

<?php

$config['db'] = array

    (

        'host'      => 'localhost',
        'dbname'    => 'journal',
        'username'  => 'root',
        'password'  => ''


    );


        $dbc = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']);
        var_dump($dbc);

?>

当我尝试使用$ dbc变量时,它会返回以下错误:

  

注意:未定义的变量:第21行的C:\ xampp \ htdocs \ journal \ data \ functions.php中的dbc

     

致命错误:在第21行的C:\ xampp \ htdocs \ journal \ data \ functions.php中的非对象上调用成员函数prepare()

第21行:

$appendEntries = $dbc->prepare("SELECT * FROM `entries`");

1 个答案:

答案 0 :(得分:2)

我想象functions.php中的代码看起来像这样

require_once 'db.php';

function somethingSomethingEntries() {
    $appendEntries = $dbc->prepare("SELECT * FROMentries");
}

somethingSomethingEntries的范围内,$dbc不存在。你应该把它作为一个参数传递,例如

function somethingSomethingEntries(PDO $dbc) {
    $appendEntries = $dbc->prepare("SELECT * FROMentries");
}

并用

调用它
require_once 'db.php';

somethingSomethingEntries($dbc);