Om du ska byta till PDO kan du lika gärna dra nytta av förberedda uttalanden och parameterbindning. Det gör faktiskt dina frågor mycket säkrare från SQL-injektion och gör också din kod mer läsbar. Din frågebyggare tillvägagångssätt komplicerar saker lite men det är fortfarande möjligt. Jag rekommenderar också starkt att du aktiverar felrapportering under utveckling. Till exempel
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);