PHP PDO查询不起作用

时间:2014-07-09 07:54:43

标签: php mysql pdo

我有一个dbfunctions类,它具有检索数据并将数据写入数据库的功能。但是,检索不起作用,我无法理解它为什么不起作用。

读取函数如下所示:

public function haeParametreittaTietokannasta($f_sql) {
    try {
        $this->sql_lause = $this->db->prepare($f_sql);
        $this->haku = $this->sql_lause->execute();
    } catch (PDOException $ex) {
        die("Tapahtui virhe tietoja noudettaessa : " . $ex->getMessage());
    }
    if(!$this->haku) {
        $this->tulos = $this->haku->fetchAll();
        return $this->tulos;
    } else {
        return false;
    }
} // END FUNCTION

这就是我调用函数的方式:

$countries = $dabase->haeParametreittaTietokannasta("SELECT * FROM countries");

查询始终返回false,我尝试显示错误信息,并说:数组(0 =>' 00000',1 => NULL,2 => ; NULL,)(是的,我在主代码中创建了一个新对象。)

我刚开始学习PHP,可能会出现一个简单的错误,我无法看到......

1 个答案:

答案 0 :(得分:1)

条件有错误:

if(!$this->haku) {

应该是

if($this->haku) {
    $this->tulos = $this->sql_lause->fetchAll();

PDOStatement::execute()返回一个布尔值。您无法将其用于fetchAll()