如何使用SLIM框架从表中获取多行

时间:2014-12-05 07:08:46

标签: php pdo

这是我的选择命令

$ stmt = $ this-> conn-> prepare(" SELECT id,task FROM tbl_all_task WHERE status = 0");

(有多行具有状态)。

我尝试了$ stmt-> fetchall(),$ stmt-> fetchall()等。没有任何作用。

我需要所有行,以便我可以创建一个JSON ARRAY并将其返回到mu函数调用。

1 个答案:

答案 0 :(得分:1)

使用 prepare() 后,您有机会制作“预备声明”, 并将值绑定到您的查询(请参阅 bindValue() ):

  

许多更成熟的数据库支持预准备语句的概念。这些是什么?它们可以被认为是应用程序想要运行的SQL的一种编译模板,可以使用变量参数进行自定义。

准备和(可选)绑定后,您必须 execute() ; 在此之后,如果一切顺利,您可以使用提取方法,例如 fetchAll()

尝试这样:

$stmt = $this->conn->prepare("SELECT id,task FROM tbl_all_task WHERE status = 0");
$stmt->execute();
if ($data = $stmt->fetchAll()) {
    print_r(json_encode($data));
}

如果您对准备好的陈述不感兴趣(尽管通常是首选方式),您可以直接使用 query() 方法:

$stmt = $this->conn->query("SELECT id,task FROM tbl_all_task WHERE status = 0");
if ($data = $stmt->fetchAll()) {
    print_r(json_encode($data));
}