我有问题。我在我的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实例的建议并在其他页面中使用它们的建议吗?
感谢您的时间和帮助!
干杯!
答案 0 :(得分:0)
您必须将数据库连接传递给查询所在的函数才能使其正常工作。