Als u gaat overschakelen naar PDO, kunt u net zo goed profiteren van voorbereide instructies en parameterbinding. Het maakt uw zoekopdrachten veel veiliger tegen SQL-injectie en maakt uw code ook leesbaarder. Uw querybouwer aanpak bemoeilijkt de zaken een beetje, maar het is nog steeds mogelijk. Ik zou ook ten zeerste aanbevelen om foutrapportage tijdens de ontwikkeling in te schakelen. Bijvoorbeeld
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);