繁体   English   中英

PDO PHP连接,致命错误

[英]PDO PHP Connection, Fatal Error

我的连接类; firstcode.php

class DB_functions {
    public $db;
    function __construct() {
        try{
            $db = new PDO("mysql:localhost;dbname=xxx;charset=utf8","xxx","xxx");
            echo 'Connected';
        }catch(PDOException $e){
            print $e->getMessage();
            echo "No Connection";
        }
    }
    function __destruct() {}

    public function test(){

        $query = $db->query("SELECT * FROM User", PDO::FETCH_ASSOC);
        if($query->rowCount()){
            foreach ($query as $row) {
                print_r($row);
            }
        }
    }

}

我的测试PHP文件;

 <?php

require_once('firstcode.php');

$db = new db_functions();

$t = $db->test();

?>

我得到的错误;

注意:未定义的变量:第20行的firstcode.php中的db

致命错误:在第20行的firstcode.php中的非对象上调用成员函数query()

提前致谢

你快到了。 在您的课程中,您需要使用以下命令更改$db每次迭代:

$this->db

因此您的课程如下所示:

class DB_functions {
    public $db;
    function __construct() {
        try{
            $this->db = new PDO("mysql:localhost;dbname=xxx;charset=utf8","xxx","xxx");
            echo 'Connected';
        }catch(PDOException $e){
            print $e->getMessage();
            echo "No Connection";
        }
    }
    function __destruct() {}

    public function test(){

        $query = $this->db->query("SELECT * FROM User", PDO::FETCH_ASSOC);
        if($query->rowCount()){
            foreach ($query as $row) {
                print_r($row);
            }
        }
    }

}

当您引用内部类变量时。 它只能在类范围内访问,并通过$this引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM