sql >> Database teknologi >  >> RDS >> Mysql

hvordan man koder flere rækker fra mysql til json ved hjælp af php

Problemet er, at $output er et array, som du skal igennem. Ligesom:

function getTopic($conn){
    $response = array("error" => 0);
    $qry = "SELECT original_title, content, time FROM topic WHERE vis = 1";
    $result = $conn->prepare($qry);
    $result->execute();
    if($result->rowCount() > 0){
        $output = $result->fetchall();
        foreach ($output as $o){
           $response['text'] = $o['original_title'];
           $response['test'] = $o['content'];
        }
        return json_encode($response);
    }
}

Dette er det sidste svar, men hvis du vil have alt, så gør:

function getTopic($conn){
    $response = array('error'=>0);
    $qry = "SELECT original_title, content, time FROM topic WHERE vis = 1";
    $result = $conn->prepare($qry);
    $result->execute();
    if($result->rowCount() > 0){
        $output = $result->fetchall();
        foreach ($output as $o){
           $response[] = array('text'=>$o['original_title'],'test'=>$o['content']);
        }
        return json_encode($response);
    }
}

Hvis du kun ønsker én række, tilføj en grænse til din MySQL-sætning.



  1. Hvordan sikrer jeg integritet mellem ikke-relaterede tabeller?

  2. hvordan sender man et tabelnavn som parameter til den lagrede procedure?

  3. Oracle - streng kombinatorisk permutation

  4. Android brugerdefineret kalender og påmindelse