Home / Programmazione / PHP / PHP JSON encode dati da MySQL
Mattepuffo

PHP JSON encode dati da MySQL

PHP JSON encode dati da MySQL

Il titolo non è dei migliori ma rende l'idea.

Quello che vogliamo ottenere è la codifica in formato JSON dei dati provenienti da un db MySQL.

Del perchè in JSON posso rispondere che i motivi sono i più vari.

Ad oggi JSON è usato quasi quanto il formato XML per rappresentare i dati, ed è usato in motli servizi web.

Inoltre le App mobile ne fanno gran uso.

Comunque, come praticamente sempre, con PHP è molto semplice.

Eseguiremo una query usando l'estensione mysqli.

La query viene salvata in un array e poi trasformata.

Per capire bene però sarebbe meglio che sapere che forma ha il JSON.

Potete anche guardare qua.

Create un file e mettetci dentro questo:

<?php

$host = "localhost";
$user = "user";
$pass = "pwd";
$db = "library";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
if (mysqli_connect_errno()) {
  echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, "SELECT * FROM book");
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  $rows[] = array(
     'title' => $row['title'],

     'author' => $row['author'],

     'editor' => $row['editor']
);
}
echo json_encode($rows);
mysqli_free_result($result);
mysqli_close($conn);

Apriamo la connessione con i vari parametri.

A connessione avvenuta eseguiamo la query e salviamo i dati in un array.

Per la query usiamo MYSQLI_ASSOC per avere un array associativo (è importante).

JSON richiede una coppia chiave/valore, e quindi salveremo i dati in quel modo.

Sotto usiamo la funzione json_encode per codificare i dati.

Chiudiamo il tutto.

Provate a interrogare la pagina.

Se non avete errori dovreste ritrovarvi con i record in formato JSON!