sql >> Databáze >  >> RDS >> Mysql

Předávání hodnot do operace MySQL IN v připraveném příkazu PDO?

Do jednoho zástupného symbolu nelze předat více hodnot. Pro každou hodnotu, která má být předána do IN (), budete muset zadat jiný zástupný symbol . Protože nevíte, kolik jich bude, použijte ? místo pojmenovaných parametrů.

$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. SQL dotaz s binárními daty (PHP a MySQL)

  2. Jak zjistím, zda je můj systém Oracle nastaven na podporu Unicode nebo vícebajtových znaků?

  3. Upozornění:mysqli_num_rows() očekává přesně 1 parametr, 2 dané | mysql |mysqli

  4. Nezachycená výjimka 'PDOException' se zprávou 'SQLSTATE[HY093]:Neplatné číslo parametru'