加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – PDO:调用未定义的方法DB :: query()

发布时间:2020-12-13 17:38:25 所属栏目:PHP教程 来源:网络整理
导读:试图摆脱PDO,但目前没有太多乐趣.我打赌它也很简单. 编辑:这会是一个更好的方法吗?而不是把它包在一个班级? 类/ DB.class.php: ?php// DB.class.phpclass DB { protected $db_name = "PDO"; protected $db_user = "root"; protected $db_pass = "root";
试图摆脱PDO,但目前没有太多乐趣.我打赌它也很简单.

编辑:这会是一个更好的方法吗?而不是把它包在一个班级?

类/ DB.class.php:

<?php

// DB.class.php

class DB {

    protected $db_name = "PDO";
    protected $db_user = "root";
    protected $db_pass = "root";
    protected $db_host = "localhost";

    // Establish Connection to Database.

    public function connect() {

        try {
            $DB = new PDO("mysql:host=$db_host;dbname=$db_name",$db_user,$db_pass);
        }
        catch (PDOException $e) {
            echo $e->getMessage();
        }

    }

}

?>

包括/ global.inc.php:

<?php

require_once 'classes/DB.class.php';

// Establish Connection to Database.

$db = new DB();
$db->connect();

?>

index.php文件:

<?php

require_once 'includes/global.inc.php';

$STH = $db->query("SELECT * FROM users");
echo "<pre>";
print_r($STH->fetch());

?>

解决方法

您的数据库类中没有DB属性和query()方法.像这个列表一样添加:

class DB
    {
    protected $db_name = "PDO";
    protected $db_user = "root";
    protected $db_pass = "root";
    protected $db_host = "localhost";
    protected $DB = null;

    // Establish Connection to Database.
    public function connect()
        {
        try
            {
            $this->DB = new PDO("mysql:host=".$this->db_host.";dbname=".$this->db_name."",$this->db_user,$this->db_pass);
            } 
        catch(PDOException $e)
            {
            echo $e->getMessage();
            }
        }

    public function query()
        {
        return $this->DB->query();
        }
    }

更好的方法是使用一些ORM库或裸PDO对象 – 它非常友好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读