【发布时间】:2014-03-28 17:40:20
【问题描述】:
我有问题
我是 PDO 的新手,所以我试图从表中获取所有数据,我知道这很容易,但是 $this 变量给我带来了一些问题,我编写了一个名为 DB 的类来连接到 mysql,并且我在另一个名为 getAll 的类中使用它,并带有一个名为 get 的函数;
数据库类
<?php
class DB
{
private $_dbh;
private static $_instance;
private function __construct()
{
try
{
$this->_dbh = new PDO("mysql:host=127.0.0.1;dbname=telmex","root","a.d.s.l");
}
catch (PDOException $e)
{
die($e->getMessage());
}
}
public static function Link()
{
if(!isset(self::$_instance))
{
self::$_instance = new DB();
}
return self::$_instance;
}
}
?>
getAll 类
<?php
class getAll
{
public $_dbh;
public function __construct()
{
$this->_dbh=DB::Link();
}
public static function get($tabla)
{
$sql="SELECT * FROM ".$tabla."";
if($sentencia=$this->_dbh->prepare($sql))
{
echo "Prepared.";
}
}
} ?>
所以当我运行时
<?php
$select = new getAll();
$consultar = $select->get("users");
?>
它给了我一个致命的错误。
【问题讨论】:
-
从
public static function get($tabla)的定义中删除static,因为您不是静态调用它,而是将其视为实例方法 -
仍然报同样的错误
标签: php fatal-error