$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 instr($string,country) > 0 ;
SELECT username FROM table WHERE country in('US', 'UK', 'AUS', 'CA')
如果它们会有所不同...您可以尝试使用数组
就像是:
$countries= array('a','b','c');
然后你去
$q="SELECT username FROM table WHERE country in(".implode("','",$countries).")
内爆将数组键转换为单个字符串,由,
$string = 'UK' OR 'US' OR 'AUS' OR 'CA'