PHP PDO MySQLクエリのIN操作に渡すコンマ区切りの文字列を返すフォームフィールドがありますが、IN操作では、値がカンマ区切りである必要があります(文字列区切られた値の)。PDO準備文でMySQL IN操作に値を渡す?
どうすればよいですか?
$values = $_POST['values']; # '10,5,4,3' (string)
$query = "SELECT * FROM table WHERE id IN (:values)";
$data = array(':values' => $values);
+1ニース、しかし私は、次の操作を行います: '$値= array_filter(array_mapをを( 'トリム'、 ''($の値を爆発します) )、 'is_numeric'); '、あなたはユーザーの入力から何が来るのかわかりません... –
あなたの構文は' rtrim'と逆です: 'rtrim(str_repeat( '?、'、count($ values))、 '、'); '。しかし、そうでなければこれは私が行った解決策です。ありがとう! – neezer
@neezer ack、歓声。矛盾したパラメータの順序と愚かなPHP: – Fanis