Nếu bạn định chuyển sang PDO, bạn cũng có thể tận dụng các câu lệnh đã chuẩn bị và ràng buộc tham số. Nó thực sự làm cho các truy vấn của bạn nhiều an toàn hơn từ SQL injection và cũng làm cho mã của bạn dễ đọc hơn. Trình tạo truy vấn của bạn cách tiếp cận có làm phức tạp mọi thứ một chút nhưng nó vẫn có thể. Tôi cũng thực sự khuyên bạn nên bật báo cáo lỗi trong quá trình phát triển. Ví dụ
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);