RPeraltaJr
10/6/2017 - 12:10 AM

MySQL Data to JSON file

<?php 

// create constants
define("DB_HOST", "localhost");
define("DB_NAME", "testdb");
define("DB_USER", "root");
define("DB_PASSWORD", "root");

try {
    // setup connection
    $db = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.';charset=utf8mb4', DB_USER, DB_PASSWORD, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    // die(json_encode(array('outcome' => true)));
}
catch(PDOException $ex) {
    // failed connection
    die(json_encode(array('outcome' => false, 'message' => 'Unable to connect')));
}

?>
<?php 

// connect to database
include 'inc/db.php';

// insert each result into array
foreach($db->query('SELECT * FROM users') as $row) {
    $results[] = array(
        'id'            => $row['id'],
        'first_name'    => $row['first_name'],
        'last_name'     => $row['last_name'],
        'email'         => $row['email']
    );
}

// turn results array into json
$json_data = json_encode($results, JSON_PRETTY_PRINT);

// output json to screen
echo $json_data; 

// create file if not exist
$newfile = "data.json";
$file = fopen($newfile, 'w+') or die("Can't create file");

// put json data into new file
file_put_contents($newfile, $json_data);