Php PDO和PDO语句,神奇的任务

Php PDO和PDO语句,神奇的任务,php,mysql,pdo,Php,Mysql,Pdo,我在飞行中完成了以下测试课程: 没有微调或其他什么,只是一个简短的测试pdo类 我有test.php: 有趣的是: PDOStatement对象从未直接返回,也从未分配给$this->handler->stmt 但是正在执行的$stmt->execute工作得很好,就像一切正常一样。 但是如果我使用$this->handler->stmt->somethod,我会得到以下错误: 致命错误:调用成员函数 非对象上的bindParam bindParam只是一个例子 我已经检查了查询,它没有任何错

我在飞行中完成了以下测试课程: 没有微调或其他什么,只是一个简短的测试pdo类

我有test.php:

有趣的是:

PDOStatement对象从未直接返回,也从未分配给$this->handler->stmt

但是正在执行的$stmt->execute工作得很好,就像一切正常一样。 但是如果我使用$this->handler->stmt->somethod,我会得到以下错误:

致命错误:调用成员函数 非对象上的bindParam

bindParam只是一个例子

我已经检查了查询,它没有任何错误,我尝试使用bindValue,但没有成功。 我尝试使用整数而不是“:name”来为参数赋值。 我通过$this->handler->query运行纯查询,它成功了

问题出在哪里? 我不希望在运行时分配PDOStatement对象,我希望在调用->prepare方法时它是类的一部分

有什么想法吗? 请不要打我,如果有一个重复的那里,但我没有找到任何帮助我

资料:

PHP5.2 已安装PDO扩展等 Apache2 MySQL5.1与PDO版本匹配 解决方法/解决方案:

public function prepare($query)
{
    return $this->handler->prepare($query);

    //$stmt->setFetchMode(PDO::FETCH_ASSOC); // standard
    //return $this->stmt;
}

public function getStatement($query)
{
    $this->stmt = $this->prepare($query);
}

更新:我试图使用一个引用“$this->stmt=&$this->handler->prepare”。这仍然会导致同样的错误。然而,我不知道为什么,但在坐在盥洗室/厕所上进行头脑风暴后,我有了这个想法;