pdo执行fetch查询语句,出现500错误,请问应该怎么写

<?php

try {

    $dbh = new PDO( 'mysql:host=47.92.xxx.xxx;dbname=lytest','root','xxxxxxx' );

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//设置异常处理

    echo 1;
    $sql = "SELECT * FROM Persons";
    echo 2;
    $sth = $dbh->prepare( $sql );

    $ret = $sth->execute();
    echo 3;
    $arr1 = $ret->fetchAll(PDO::FETCH_ASSOC);
    echo 4;
    print_r($arr1);
    //echo $ret;

    $dbh = null;

} catch (PDOException $e) {
    echo $e->getMessage();
}catch( Exception $e ){
    echo $e->getMessage();
    //die($e->getMessage());
}

每次运行都可以打印出'123',证明是
$arr1 = $ret->fetchAll(PDO::FETCH_ASSOC);
这句话出了错误

我尝试过

$arr1 = $ret->fetchAll(PDO::FETCH_ASSOC);
$arr1 = $ret->fetch(PDO::FETCH_ASSOC);
$arr1 = $ret->fetch();

都没有用,找了一些资料发现没什么区别啊....请问应该怎么写?

阅读 2.4k
1 个回答
//查询
    $sql = "SELECT * FROM Persons";
    $ret = $dbh->query($sql);
    $arr1 = $ret->fetchAll(PDO::FETCH_ASSOC);
    print_r($arr1);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题