sql >> Databáze >  >> RDS >> Mysql

jak zakódovat více řádků z mysql do json pomocí php

Problém je v tom, že $output je pole, které musíte projít. Jako:

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

Toto je poslední odpověď, ale pokud chcete všechny, udělejte:

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

Pokud chcete pouze jeden řádek, přidejte limit do příkazu MySQL.



  1. jak zkontrolovat, zda dotaz mysql nevrací žádný výsledek (záznam nenalezen) pomocí php?

  2. Jak ušetřím vyhrazená slova použitá jako názvy sloupců? MySQL/Vytvořit tabulku

  3. Když je potřeba spustit REINDEX v postgresu

  4. Hibernace aktualizace jednoho až mnoha kaskádových