次のような「テーブル」という名前のテーブルのクエリ(PHP、Mysql)があります。
id | name
-------------
6 | abc
10| xxx
52| def
そしてクエリ:
$ids = '5,62'
$name = $pdo -> prepare('SELECT id, name FROM table WHERE id IN ( :ids )');
$name -> bindValue(':ids', $ids, PDO::PARAM_STR);
$name -> execute();
$name = $name->fetchAll(PDO::FETCH_ASSOC);
print_r($nazwa);
次のような結果が得られると期待しています
id | name
-------------
6 | abc
52| def
残念ながら、私は次のものしか得られません:
id | name
-------------
6 | abc
あたかも 2 番目の値が無視されるかのように。クエリを次のように変更すると:
$name = $pdo -> prepare('SELECT id, name FROM table WHERE id IN (' $ids ')');
それはすべてうまくいきます。準備されたステートメントがコンマを含む内破テーブルを考慮しない理由を教えてください。