简体   繁体   中英

how to get multiple rows from a table using SLIM framework

this is my select command

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

(there are multiple rows having status ).

i tried $stmt->fetchall() , $stmt->fetchall() etc. Nothing works.

I need all rows so that i could make a JSON ARRAY and return this to mu function call.

after you use prepare() , you get a chance to make a 'prepared statement', and bind values to your query (see bindValue() ):

Many of the more mature databases support the concept of prepared statements. What are they? They can be thought of as a kind of compiled template for the SQL that an application wants to run, that can be customized using variable parameters.

after you prepare and (optionally) bind, you must execute() ; after which, if every thing went right, you can use fetching methods such as fetchAll() .

try it like this:

$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));
}

if you're not interested in a prepared statement (altough it is generally the prefered way), you can just use the query() method directly:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM