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

MySQL PDO как да свързвам параметри за IN()

Разбрах го:

$ids = '1,2,3';

Разделете низа $ids в масив:

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

Това дава:

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

Създайте разделен със запетая низ от въпросителни знаци. Броят на въпросителните знаци съвпада с броя на стойностите на масива

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

Това създава низ, който изглежда така:

?,?,?

Поставете този низ в sql

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


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

Изпълнете заявката, като предадете масива като параметър

$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. експортирайте съдържанието на таблицата на базата данни на mysql в PDF файл с помощта на php

  2. Сравняване на Percona XtraBackup с MySQL Enterprise Backup:Част първа

  3. Защо затваряме резултата в Mysqli

  4. променете състоянието на планировчика на събития в mysql

  5. MySql Единична таблица, Изберете последните 7 дни и включете празни редове