Jeśli zamierzasz przełączyć się na PDO, równie dobrze możesz skorzystać z przygotowanych instrukcji i wiązania parametrów. To faktycznie sprawia, że Twoje zapytania dużo bezpieczniejsze od wstrzyknięcia SQL, a także sprawia, że Twój kod jest bardziej czytelny. Twój narzędzie do tworzenia zapytań podejście trochę komplikuje sprawy, ale nadal jest możliwe. Gorąco polecam również włączenie raportowania błędów podczas tworzenia. Na przykład
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);