Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thay đổi tập lệnh php thành PDO gây ra lỗi Cú pháp trong khi truy vấn cập nhật MySQL

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);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách ghép nhiều giá trị nối từ nhiều bảng quan hệ trong một truy vấn mysql duy nhất

  2. Phân tích cú pháp mặc dù cột MySQL để trích xuất dữ liệu

  3. Làm cách nào để chuyển đổi thời gian MySQL sang dấu thời gian UNIX bằng PHP?

  4. Thay đổi tiêu đề cột SQL thông qua truy vấn

  5. Cách tốt nhất để liên kết các giá trị thập phân / kép / float với PDO trong PHP là gì?