$string = 'US|UK|AUS|CA';
我正在尝试做这样的事情
SELECT username FROM table WHERE country (included in $string)
有什么想法吗?
答案 0 :(得分:2)
假设您的字符串已清理,我会将字符串分解为数组并使用implode
创建语句。您不应该在字符串中存储多个值。这就是阵列的用途。
$string = 'US|UK|AUS|CA';
$string = explode('|', $string);
$stmt = "SELECT ... country IN ('" . implode("', '", $string) . "')";
可生产
SELECT ... country IN ('US', 'UK', 'AUS', 'CA')
答案 1 :(得分:2)
用“|”爆炸你的字符串获取数组,然后使用“,”将该数组内爆以获取字符串。
$string = 'US|UK|AUS|CA';
$string=explode("|",$string);
$new_string=implode("', '",$string);
然后就像这样运行
select username from table where country IN ('".$new_string."');
答案 2 :(得分:1)
试试这个..
SELECT username FROM table WHERE instr($string,country) > 0 ;
答案 3 :(得分:0)
SELECT username FROM table WHERE country in('US', 'UK', 'AUS', 'CA')
答案 4 :(得分:0)
如果它们会有所不同......您可以尝试使用数组
类似的东西:
$countries= array('a','b','c');
然后你去找
$q="SELECT username FROM table WHERE country in(".implode("','",$countries).")
implode会将数组键转换为由,
答案 5 :(得分:-1)
$ string ='UK'或'US'或'AUS'或'CA'