-3

做了一个 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`");
4

1 回答 1

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);
于 2013-08-30T04:49:26.780 回答