PHP PDO fetch()不起作用

时间:2015-02-21 22:41:31

标签: php mysql sql pdo

我有一个类,它包含查询数据库以获取信息的方法,然后在" 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;
                ?>      

0 个答案:

没有答案