Mysql
 sql >> база данни >  >> RDS >> Mysql

Предаване на стойности към операцията MySQL IN в подготвеното изявление за PDO?

Не можете да предавате няколко стойности в един контейнер. Ще трябва да въведете различен заместител за всяка стойност, която да бъде предадена в IN () . Тъй като не знаете колко ще има, използвайте ? вместо наименувани параметри.

$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. Грешка при стартиране на MySQL - Липсва коренен елемент

  2. Вземете SUM от продажбите за няколко години в колони

  3. MySQL динамична кръстосана заявка:Избиране на дъщерни записи като допълнителни колони

  4. Сложна заявка за Wordpress, използваща множество заявки

  5. Как да поправите грешка при изпълнение на DDL промени в таблицата, изпускане на външния ключ FKg0mkvgsqn8584qoql6a2rxheq чрез JDBC изявление