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

Truyền giá trị cho hoạt động MySQL IN trong câu lệnh chuẩn bị sẵn PDO?

Bạn không thể chuyển nhiều giá trị vào một trình giữ chỗ duy nhất. Bạn sẽ phải nhập một trình giữ chỗ khác cho mỗi giá trị được chuyển vào IN () . Vì bạn không biết sẽ có bao nhiêu cái, hãy sử dụng ? thay vì các tham số được đặt tên.

$values = explode(',', $values) ;

$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";

$stm = $db->prepare($query) ;
$stm->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. Chức năng dẫn và trễ trong Mysql

  2. Lưu đoạn văn bản vào mysql

  3. Tạo chỉ mục Lucene trong cơ sở dữ liệu bằng JdbcDirectory

  4. Truy cập biến riêng trong PHP (PDO)

  5. Lỗi MySQl # 1064