1

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

    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?";
    }
4

2 回答 2

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);
于 2012-12-26T23:57:50.133 回答
1

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

错误报告(1);ini_set('display_errors',1);

于 2012-12-26T23:46:42.993 回答