単純な整数があるので、それらをコンマで簡単に結合できます。
$sql = "SELECT * FROM table WHERE comp_id IN (" . implode(',', $arr) . ")";
文字列、特に信頼できない入力を操作する場合:
$sql = "SELECT * FROM table WHERE comp_id IN ('"
. implode("','", array_map('mysql_real_escape_string', $arr))
. "')";
これはNULL
(空の文字列として保存されます)などの値には対応しておらず、数値の前後に引用符を盲目的に追加することに注意してください。これは、厳密なmysqlモードを使用している場合は機能しません。
mysql_real_escape_string
は元のmysqlドライバー拡張機能の関数です。mysqliなどの最新のドライバーを使用している場合は、mysqli_real_escape_string
代わりに使用してください。
ただし、信頼できない番号を処理するだけの場合は、intval
またはを使用floatval
して入力をサニタイズできます。
$sql = "SELECT * FROM table WHERE comp_id IN (" . implode(",", array_map('intval', $arr)) . ")";