我有这段代码,当我运行它时会完全搞砸。它甚至没有抛出异常。它只会导致服务器错误。
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?";
}
答案 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);