首页 文章

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

提问于
浏览
1

这是我的选择命令

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

(有多个行具有状态) .

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

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

1 回答

  • 1

    使用 prepare() 后,您有机会创建'prepared statement',并将值绑定到查询中(请参阅 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));
    }
    

相关问题