【发布时间】:2015-04-15 16:09:28
【问题描述】:
我想打印表格上的所有行。每一行都是对论坛中某个问题的回答。用户可以删除行。
我可以在数据库中获取整个表。但我不知道如何获得每一行。
控制器:
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;
}
感谢您的帮助
【问题讨论】:
-
欢迎来到 Stack Overflow!这个问题的信息有点少。能分享一下你尝试过的,遇到了什么问题吗?
-
使用 fetchall(PDO::FETCH_ASSOC)
-
bub 应该回答这个问题并被接受
-
实际上它只是部分回答了 OP 的问题@FabioCosta。
-
您确实需要了解如何使用PDO prepared statements,因为在查询字符串中看到诸如
$idCourse之类的内容通常是严重SQL injection bug 的标志。