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

MySQL PDO cách liên kết các tham số cho IN ()

Tôi đã tìm ra:

$ids = '1,2,3';

Giải nén chuỗi $ ids thành một mảng:

$ids_array = explode(',', $ids);

Điều này mang lại:

$ids_array[] = 1;
$ids_array[] = 2;
$ids_array[] = 3;

Tạo một chuỗi dấu hỏi được phân tách bằng dấu phẩy. Số lượng dấu hỏi phù hợp với số lượng giá trị mảng

$in  = str_repeat('?,', count($ids_array) - 1) . '?';

Điều này tạo ra một chuỗi trông giống như:

?,?,?

Đặt chuỗi đó vào sql

$q = "SELECT *
    FROM table
    WHERE id IN($in) ";


$stmt = $this->db->prepare($q);

Thực thi truy vấn, chuyển mảng dưới dạng tham số

$stmt->execute($ids_array);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mã hóa chuỗi thử thách trong Python

  2. Cách tạo bảng trong SQL - Truy vấn mẫu Postgres và MySQL

  3. Kiểu dữ liệu cho unix_timestamp (MySQL) là gì?

  4. Địa chỉ email truy vấn lỗi PHP / MySQL

  5. Số cột tối đa trong bảng MySQL