Categories: Development

PHP MySQL PDO select foreach loop

Doing a loop through on a MySQL query is super useful and common. It allows you to make tables, rows and output data in  a controlled manner without doing many connections.

PHP PDO with a prepared statement gives you better security against injections.

Assuming you already have your MySQL PDO connection details set like

$db = new PDO('mysql:host=localhost;dbname=DATABASENAME;charset=utf8mb4', 'USERNAME', 'PASSWORD');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Here is how to do a loop on a PDO MySQL select query:

prepare("SELECT `location`, `type` FROM `locations` WHERE `type` = :location_type");
$statement->execute(array(':location_type' => $location_type));
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    $location = $row['location'];
    $type = $row['type'];
    echo "$location has the type $type
"; }

Without a prepared statement query

prepare("SELECT `location`, `type` FROM `locations`");
$statement->execute(array());
while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    $location = $row['location'];
    $type = $row['type'];
    echo "$location has the type $type
"; }

This will loop through each of the selected rows and output the `location` and the `type` as a new line due to the break tag (
).

Share

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

2 years ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

2 years ago

Early September spring shots

Some early September spring shots from a bushwalk, It is still too early for wildflowers.

3 years ago

Cloning an NVMe to SK Hynix Platinum P41 NVMe

I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…

3 years ago

Using Laravel’s deleteDirectory to delete folders and their contents

If you ever needed a simple solution in Laravel to delete an entire directory and…

3 years ago

How to allow only 1 user to register in a Laravel application

How to enforce only one user to register or be registered in a Laravel web…

3 years ago