4
$string = 'US|UK|AUS|CA';

私はこのようなことをしようとしています

SELECT username FROM table WHERE country (included in $string)

何か案が ?

4

6 に答える 6

2

文字列がサニタイズされていると仮定すると、文字列を配列に分解しimplode、ステートメントを作成するために使用します。文字列に複数の値を格納するべきではありません。それが配列の目的です。

$string = 'US|UK|AUS|CA';
$string = explode('|', $string);

$stmt = "SELECT ... country IN ('" . implode("', '", $string) . "')";

プロデュース

SELECT ... country IN ('US', 'UK', 'AUS', 'CA')
于 2013-06-16T16:05:08.643 に答える
2

文字列を「|」で分解するだけです 配列を取得し、その配列を「、」で内破して文字列を取得します。

$string = 'US|UK|AUS|CA';
$string=explode("|",$string);
$new_string=implode("', '",$string);

次に、このようにクエリを実行します

select username from table where country IN ('".$new_string."');
于 2013-06-16T16:41:29.993 に答える
0

SELECT username FROM table WHERE country in('US', 'UK', 'AUS', 'CA')

于 2013-06-16T15:52:04.853 に答える