PDO获取问题

时间:2012-12-26 23:43:18

标签: php pdo

我有这段代码,当我运行它时会完全搞砸。它甚至没有抛出异常。它只会导致服务器错误。

    try {
        $stmt = $this->database->prepare(
                "SELECT * FROM news_posts");
        $result = $stmt->execute();
        $array = $result->fetch(PDO::FETCH_ASSOC);
        print_r($array);
    } catch (PDOException $e) {
        echo "error?";
    }

2 个答案:

答案 0 :(得分:2)

PDOStatement::execute()不会返回结果;你在查询上打电话给fetch

$stmt = $this->database->prepare(
        "SELECT * FROM news_posts");
$stmt->execute();
$array = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($array);

您也可以将其缩短为query(),因为您没有添加任何参数:

$stmt = $this->database->query('SELECT * FROM news_posts');
$array = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($array);

答案 1 :(得分:1)

检查php.ini中是否已打开PDO。 您也可以通过phpinfo()脚本进行检查。 请记住通过以下方式设置适当的错误级别:

的error_reporting(1); 函数ini_set( '的display_errors',1);