包含,pdo和php时无法识别变量

时间:2015-01-12 17:37:38

标签: php function pdo include

我有问题。我在我的functions.php文件中包含了我的数据库详细信息。像这样:

db.php中:

$dbhost = "localhost";
$dbname = "test";
$dbuser = "root";
$dbpass = "root";

$dbc = new PDO("mysql:host=" . $dbhost . "; dbname=" . $dbname ."", $dbuser, $dbpass);

的functions.php:

include_once 'db.php';

function retrieve($count)
{
$query = "SELECT * FROM table WHERE column = ?";

$sth = $dbc->prepare($query);

$sth->bindValue(1, $count);

$sth->execute();

$resultCount = $sth->rowCount();
}

file.php:

include 'functions.php';
...

当我尝试在file.php中调用我的函数文件时,我可以使用函数retrieve,我的php_error.log文件显示以下内容:

[Date] PHP注意:未定义的变量:第6行的functions.php中的dbc

我的目标是创建一个PDO实例并在所有其他页面中使用它,这样我就不必重新创建实例了。我试图通过创建$ dbc变量并在db.php中实例化一个新的PDO连接来实现这一点。然后,我将它包含在functions.php中,这样每当调用一个函数时,$ sth变量将使用$ dbc(PDO连接的实例)保存所使用的方法。

有谁知道为什么我会收到此错误,并且可能有人可以给我一些关于如何参数化PDO实例的建议并在其他页面中使用它们的建议吗?

感谢您的时间和帮助!

干杯!

1 个答案:

答案 0 :(得分:0)

您必须将数据库连接传递给查询所在的函数才能使其正常工作。