Q:

What's wrong with my SELECT statement...?

I am making a booking script for a friend however I can't seem to fathom out what is wrong with my SELECT statement. I am not returned with an error but it simply just isn't working. Have I done something obviously stupid here? This is my statement:
<?php 
$id = escape($_GET['id']);
$records = array();
$results = $db->prepare("SELECT * FROM `bookings` WHERE id = ?");
$results->bind_param('i', $id);
    if ($results->num_rows) {
while ($row = $results->fetch_object()) {
    $records[] = $row;
}
$results->free();
}
?>

Then I loop through like this: <?php foreach ($records as $data); {... ?>
EDIT:
Well I have the form where the user edits the data, so for each form field, say the Show Name I do:
<input type="text" name="show_name" id="show_name" value="<?php $data->show_name; ?>" maxlength="40" autocomplete="off"><br />

However the page doesn't load the form when I try to load the data, it's odd...

A:

You never executed the query.
$stmt = $db->prepare("SELECT * FROM `bookings` WHERE id = ?");
$stmt->bind_param('i', $id);
$stmt->execute();
$result = $stmt->get_result();
$records = $result->fetch_all(MYSQLI_ASSOC);

