2

我已经尝试了一天多的时间来获取 FetchAll() 方法来帮助我显示数据库中的数组。但是我所有的努力都失败了。而不是 print_r() 返回一个数组,它给了我这个数组()。请帮帮我。课程页面中的代码:

class Article {
public function fetch_all(){
    global $conn;
    $ass = $conn->prepare("SELECT * FROM articles");
    $ass->execute();
     return $ass->fetchAll();


    }

} 

而显示页面中的代码是:

$article = new Article;
$articles = $article->fetch_all();
 print_r($articles);
4

4 回答 4

4

$query未在您的代码中定义,$ass->fetchAll();是您应该拥有的。

于 2014-03-24T00:46:20.617 回答
0

我已经尝试了下面的代码,它完美无缺。

class Article {
        public function fetch_all(){
            global $connection;
            $ass = $connection->prepare("SELECT * FROM test");
            $ass->execute();
            return $ass->fetchAll();
        }
    } 


    $article = new Article;
    $articles = $article->fetch_all();
    print_r($articles);

正如你在上面看到的,我已经使用了我的 $connection 并且它工作得很好。所以,问题肯定出在你的 $conn (连接)上。再次检查您的连接。

于 2014-03-24T14:07:54.747 回答
0

$query没有定义。考虑将您的数据库对象注入到 Article 对象中以避免使用全局变量。

class Article {
   public function fetch_all(PDO $conn){
    $ass = $conn->prepare("SELECT * FROM articles");
    $ass->execute();
        return $ass->fetchAll();  
    }

} 

$article = new Article;
$articles = $article->fetch_all($conn);
print_r($articles);

注入您的 PDO 对象可以使更改代码更容易。

于 2014-03-24T00:56:18.577 回答
-1

它最终开始返回完整的数组。我所做的只是卸载我正在使用的 WAMPserver 并用另一个替换它。

于 2014-03-27T23:15:37.103 回答