$string = 'US|UK|AUS|CA';
私はこのようなことをしようとしています
SELECT username FROM table WHERE country (included in $string)
何か案が ?
文字列がサニタイズされていると仮定すると、文字列を配列に分解しimplode
、ステートメントを作成するために使用します。文字列に複数の値を格納するべきではありません。それが配列の目的です。
$string = 'US|UK|AUS|CA';
$string = explode('|', $string);
$stmt = "SELECT ... country IN ('" . implode("', '", $string) . "')";
プロデュース
SELECT ... country IN ('US', 'UK', 'AUS', 'CA')
文字列を「|」で分解するだけです 配列を取得し、その配列を「、」で内破して文字列を取得します。
$string = 'US|UK|AUS|CA';
$string=explode("|",$string);
$new_string=implode("', '",$string);
次に、このようにクエリを実行します
select username from table where country IN ('".$new_string."');
SELECT username FROM table WHERE country in('US', 'UK', 'AUS', 'CA')