我的连接类; 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()
先谢谢
答案 0 :(得分:3)
你快到了。在您的课程中,您需要使用以下内容更改$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
引用。