PDOStatement to JSON [closed]

You can use the inbuilt php function json_encode() http://php.net/manual/en/function.json-encode.php

To encode the results use something like

<?php
$pdo = new PDO("mysql:dbname=database;host=127.0.0.1", "user", "password");
$statement = $pdo->prepare("SELECT * FROM table");
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);

Use the fetchAll() method of the PDOStatement to retrieve an array of the values, and then pass that to json_encode().

$resultJSON = json_encode($stmt->fetchAll(PDO::FETCH_ASSOC));

$array = $statement->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode( $array );

I have also found it very useful to insert and set the PHP header('Content-Type: application/json') prior to sending back the JSON object returned by json_encode()