Ottenere dati json da un database con php
12 Novembre 2019
Vediamo come recuperare dati da un database mysql e convertirli nel formato json tramite il linguaggio php.
<?php header("Content-Type: application/json; charset=iso-8859-1"); //Connessione al database $con = mysqli_connect("hostname", "username", "password", "database name"); // Effetto una query per recuperare tutti i dati dal database $query = "SELECT * from tabella"; $result = mysqli_query($con, $query); $arr = array(); if(mysqli_num_rows($result) != 0) { while($row = mysqli_fetch_assoc($result)) { $arr[] = $row; } } // Restituisce l'array json contenente i dati dal database echo $json_info = json_encode($arr); ?>
Vediamo ora come recuperare i dati dal database di Microsoft Access con php
<?php header("Content-Type: application/json; charset=iso-8859-1"); //percorso fisico per la connessione al database $db = "c:\inetpub\wwwroot\json_asp\mdb-database\database.mdb"; $sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . $db . ";"; // Creo due oggetti COM contenenti gli oggetti Connection e Recordset $cn = new COM("ADODB.Connection"); $rs = new COM("ADODB.Recordset"); // Apro la Connection ed il Recordset $cn->Open($sc); $rs->Open("SELECT * FROM galleria", $cn); $outp = "["; while($rs->EOF == FALSE) { if ($outp != "[") {$outp .= ",";} $outp .= '{"Titolo":"' . $rs["titolo"] . '",'; $outp .= '"Immagine":"'. $rs["nome_file"] . '"}'; $rs->MoveNext(); } $outp .="]"; echo($outp); ?>
Nota bene: su Aruba con hosting windows la connessione al database access con php non è consentita per motivi di sicurezza.
Per verificare la correttezza di un file JSON è possibile utilizzare uno tanti tool online come JSONLint.