如何从 db 类中访问 PDO 的 execute() 方法?下面是我的类和方法的片段:
class db extends PDO {
public $memcache;
function execute($params='') {
try {$foo=parent::execute($params);}
catch (PDOException $e) {echo $e->getMessage();}
return $foo;
}
function __construct($db='server_en',$host='localhost',$uz='root',$pw='') {
try {
parent::__construct("mysql:dbname=$db;host=$host",$uz,$pw);
parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch (PDOException $e) {echo $e->getMessage();}
$this->memcache=new Memcache;
$this->memcache->connect('127.0.0.1', 11211) or die('Could not connect to Memcache server');
}
}
我尝试执行以下代码:
var_dump($db->execute('INSERT INTO `foo`(`bar`) VALUES (0)'));
并得到以下错误:Fatal error: Call to undefined method PDO::execute() in ...
。
谁能提供一个简单的例子来说明如何解决这个问题?我对 PDO 和类都相当缺乏经验,所以答案越简单越好。
PS 我复制一些PDO 方法的原因是当 PDO 过时时更容易迁移到新的数据库处理程序。这不是过早的优化;这从一开始就让生活更轻松。