#!/usr/bin/php <?php $mysqli = new mysqli("localhost", "root", "hidave", "test"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $foo = array(); $query0 = "SELECT* FROM restaurant WHERE json_contains(data, '{\"grade\": \"A\"}', '$.grades')"; echo "$query0\n"; if ($result = $mysqli->query($query0)) { $row = $result->fetch_row(); printf("JSON is %s!\n\n", $row[0]); $foo = json_decode($row[0]); var_dump($foo); } else { printf("Errormessage: %s\n", $mysqli->error); } $mysqli->close();In this case we get the data into an array and the the processing is limited to a var_dump().
Wednesday, March 23, 2016
Digging Down into JSON data with the MySQL Functions -- A Question from Peter Zaitsev -- Follow Up
Last time this blog covered digging into a JSON document in a MySQL 5.7 table. The goal was to pull certain records matching a particular criteria. Both Peter Zaitsev and Morgan Tocker get my thanks for their kind comments. My example was a little contrived in that an application would be used to fine tune seeking for a particular key value pair. I was trying to pull single records which is kind of silly when it is much easier to use PHP to parse the data. What follows below is a sample PHP script to grab out the matching records and then feed the results, the JSON document, into an array.