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对象 – 它非常友好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |