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`");
答案 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);