PHP nested SQL query into JSON format
546
I have a somewhat complicated php sql query that I need to put into JSON to send back to my terminal. Can someone help? I've been struggling with this and can't seem to get it right. My code is something like:
//Grab all people living in a city, and for each of those people, grab all of their carsmodel and license plate. My output should be something like [{"firstname":John, "lastname":Smith, "cars":[car1, car2, car3...], "plates":[plate1, plate2, ...]},{"firstname":Jack,"lastname":Hide, "cars":[car1, car2, car3], "plates":[plate1, plate2,...]}]
$sql = "SELECT id, firstname, lastname FROM residents WHERE residents.city = ?";
$q = $connection->prepare($sql);
$q->execute(array($city));
while($row = $q->fetch())
{
$sql2 = "SELECT carid FROM cars WHERE userid = ?"
$q2 = $connection->prepare($sql2);
$q2->execute(array($row[0]));
while($row2 = $q2->fetch())
{
// What do I do here?!
}
}
return json_encode(//?);
Any help greatly appreciate!
Thanks!
Answer
Solution:
Make it in one query:
then in the PHP part:
Answer
Solution:
I would set the fetch mode to
PDO::FETCH_OBJ
(orPDO::FETCH_ASSOC
) instead of working with the numbers. You can do this on the connection, but alsofetch
.