Php 对pdo中的非对象调用成员函数query()

Php 对pdo中的非对象调用成员函数query(),php,mysql,pdo,Php,Mysql,Pdo,我需要索引中的pdo_connect,然后才需要其他内容 在index.php中使用foreach(见下文)是可行的,但当我在函数“test”(这是一个单独的文件)中使用它时,我得到了错误: 对非对象调用成员函数query() 已经尝试在单独的文件中要求pdo_连接,这会产生相同的错误 我是PDO的新手,也是一个初学者,如果有人能帮助我,我会非常感激 pdo_connect.php: $host= 'localhost'; $dbname= 'secret';

我需要索引中的pdo_connect,然后才需要其他内容 在index.php中使用foreach(见下文)是可行的,但当我在函数“test”(这是一个单独的文件)中使用它时,我得到了错误:

对非对象调用成员函数query()

已经尝试在单独的文件中要求pdo_连接,这会产生相同的错误

我是PDO的新手,也是一个初学者,如果有人能帮助我,我会非常感激

pdo_connect.php:

        $host= 'localhost';
        $dbname= 'secret';
        $user= 'secret';
        $pass= 'secret';
        $input = 'secret';

        try 
        {  
          $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);  
          $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        }  
        catch(PDOException $e) 
        {
            file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);  
        } 
函数(testfile.php):


必须将$DBH作为参数传递给test函数,$DBH在test函数中不可见

尝试:


阅读关于PHP的文章<代码>$DBH无法在
test()中访问。
谢谢,这非常有效!我一直很傻,但是嘿!你从中学到了什么,对吗?我可能一辈子都会记住这一点,谢谢你的帮助,伙计!
function test($UserName,$PassWord)
{

    foreach($DBH->query('SELECT * FROM users') as $row) 
    {
        echo $row['username'].' '.$row['password']; //etc...
    }
}
function test($DBH,$UserName,$PassWord)
{

    foreach($DBH->query('SELECT * FROM users') as $row) 
    {
        echo $row['username'].' '.$row['password']; //etc...
    }
}