如何使用PDO在PHP中打印MySQL数据库表 [英] How to print a MySQL database table in PHP using PDO

查看:79
本文介绍了如何使用PDO在PHP中打印MySQL数据库表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想打印表上的所有行.每行都是论坛中问题的答案.用户可以删除行.

I want to print all the rows on the table. Every row is an answer to a question in a forum. The user can delete rows.

我可以在数据库中获取整个表.但是我不知道如何获得每一行.

I can get the whole table in the database. But i don't know how to get every row.

控制器:

for ($idAnswer=1; $idAnswer<=?; $idAnswer++){
    $data=getData($idCourse, $idForum, $idAnswer);
    $author=$data['author'];
    $answer=$data['answer'];
    $date=$data['date'];
    echo $author;
    echo $answer;
    echo $date;
    }

功能:

public function getData($idCourse, $idForum, $idAnswer) {
        //Conect
        try {
            $this->BD=new PDO($this->infoBD, $this->usuarioBD, $this->claveBD);
            $this->BD->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            }catch(PDOException $e){echo $e; }
        //Get data    

            try {
                $sql=$this->BD->prepare("SELECT author, date, answer
                FROM   answers
                WHERE  idForum='$idForum' and idCourse='$idCourse' and idAnswer='$idAnswer'");
                $sql->execute();
                $sql->setFetchMode(PDO::FETCH_ASSOC);
                $data=$sql->fetch();
                if ($data!=null){
                return $data;
                } else {
                    return 0;
                }
            }catch (PDOException $e){
                echo $e;
            }

感谢您的帮助

推荐答案

fetch()函数将返回结果集中的下一行.您需要这样的东西才能获得所有结果:

fetch() function returns you the next row from the result set. You need something like this to get all results:

while($data = $sql->fetch()) {
   echo ($data['author']);
   echo ($data['date']);
   //...etc...
}

或者您可以使用 fetchAll()函数,该函数返回结果中每一行的数组,并且可以使用循环顶部遍历该数组并对每一行执行任何操作.

Or you can use fetchAll() function which returns an array with each row from the result and you can use a loop top traverse the array and do whatever you want with each row.

具有 fetchAll()的示例:

$data = $sql->fetchAll(PDO::FETCH_ASSOC);
foreach($data as $row) {
   echo $row['autor'];
   echo $row['date'];
  //do whatever you want with the row
}

这篇关于如何使用PDO在PHP中打印MySQL数据库表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆