dongxi4235 2016-06-12 19:52
浏览 30
已采纳

使用PDO和PHP获取数据时出错

I'm developing a web based software that uses MySQL and PHP on the backend.

I'm trying to obtain data with a complex query and in the end I just obtain the query.

   function consulttimes(){
$pdo = connect();
 try{

    $consult = $pdo->prepare("SELECT credentials.realname, timestamp_greenhouse.* FROM times.credentials, times.timestamp_greenhouse WHERE timestamp_greenhouse.id = credentials.id;"); 
    $consult->execute();
    $consult->fetch(PDO::FETCH_ASSOC);
    echo json_encode($consult); 


    //file_put_contents('times.json', $json);



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

I have all the databases and the query works perfectly on phpmyadmin. Can someone help me with this?

Cheers!

  • 写回答

1条回答 默认 最新

  • dongxie3701 2016-06-12 20:10
    关注

    I'm trying to obtain data with a complex query and in the end I just obtain the query.

    The problem is because of this line,

    echo json_encode($consult); 
    

    $consult is a PDOStatement object returned from the prepared statement. I believe you're trying to encode the row obtained from ->fetch(PDO::FETCH_ASSOC) method.

    So first fetch the row from the result set, store it in a variable and then apply json_encode on it, like this:

    // your code
    
    $consult->execute();
    $result = $consult->fetch(PDO::FETCH_ASSOC);
    echo json_encode($result); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏