我有一个类,它包含查询数据库以获取信息的方法,然后在" execute()
"之后返回一个变量,该变量的值是sql查询的预准版本。和" setFetchMode()
",该函数返回相同的变量。
在另一个文件中,我创建了该类的对象,并调用该方法,我将其指定为另一个变量的值,以便我可以在while循环中fetch()
。问题是所有这些都没有任何明显的错误,但是我没有检索到我从数据库请求的数据。
<?php
class DatabaseContent{
private $sql = "SELECT * FROM :table ";
public function fetchAllRows($table, $rowOrder, $direction, $conn){
$this->sql .= "ORDER BY :roworder :direction ";
$q = $conn->prepare($this->sql);
$q->execute(array(':table'=>$table, ':roworder'=>$rowOrder, ':direction'=>$direction));
$q->setFetchMode(PDO::FETCH_ASSOC);
return $q;
}
这是我创建对象的文件
<?php
$table = "topics";
$rowOrder = "topic_id";
$direction = "ASC";
$q = new DatabaseContent;
$n = $q->fetchAllRows($table, $rowOrder, $direction,$conn);
while($row = $n->fetch()):
echo '<a href="categoria/categoria.php"><li>'.$row['topic_name'].'</li></a>';
endwhile;
?>