Ако възнамерявате да преминете към PDO, може също да се възползвате от подготвените изрази и свързването на параметри. Това всъщност прави вашите запитвания много по-безопасен от SQL инжектиране и също така прави кода ви по-четлив. Вашият конструктор на заявки подходът усложнява малко нещата, но все пак е възможно. Също така силно препоръчвам да активирате докладването за грешки по време на разработката. Например
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);