这是我的选择命令
$ stmt = $ this-> conn-> prepare(" SELECT id,task FROM tbl_all_task WHERE status = 0");
(有多行具有状态)。
我尝试了$ stmt-> fetchall(),$ stmt-> fetchall()等。没有任何作用。
我需要所有行,以便我可以创建一个JSON ARRAY并将其返回到mu函数调用。
答案 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));
}