Hvis du skal skifte til PDO, kan du lige så godt benytte dig af forberedte opgørelser og parameterbinding. Det gør faktisk dine forespørgsler meget sikrere mod SQL-injektion og gør også din kode mere læsbar. Din forespørgselsbygger tilgang komplicerer tingene lidt, men det er stadig muligt. Jeg vil også stærkt anbefale at aktivere fejlrapportering under udvikling. For eksempel
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$upd = array('name = :name', 'type = :type');
$values = array(
'name' => $name,
'type' => $type,
'ride_id' => $ride_id,
'park_id' => $park_id
);
if (!empty($topride)) {
$upd[] = 'top_ride = :topride'; // :topride is the named parameter placeholder
$values['topride'] = $topride; // the array key matches the named placeholder above
}
if (!empty($info)) {
$upd[] = 'info = :info';
$values['info'] = $info;
}
// and so on
$query = sprintf('UPDATE tpf_rides SET %s WHERE ride_id = :ride_id AND park_id = :park_id',
implode(', ', $upd));
$stmt = $pdo->prepare($query);
$stmt->execute($values);