我需要使用数组列表进行选择。 $array_name
包含:
Array ( [0] => gum.cn [1] => lol.com. [2] => ns1.blar.com [3] => test.com [4] => web.cn. )
print_r($array_name);
$string = implode(',',$array_name); $tank = "SELECT url FROM `PHP`.`db` WHERE url LIKE '%{$string}%'"; $result1 = mysql_query($tank); while ($jwp = mysql_fetch_array($result1)) { echo $jwp['url']; echo "<br>"; }
为什么上面的方法不起作用?我搜索了其他示例,问题是在不使用 LIKE
子句的情况下提出的,因此没有解决方案。请帮忙,提前致谢。
最佳答案
它不起作用,因为您的查询将扩展为:
SELECT url FROM `PHP`.`db` WHERE url LIKE '%gum.cn,lol.com.,ns1.blar.com...%'
您必须稍微修改您的查询:
$query_parts = array();
foreach ($array_name as $val) {
$query_parts[] = "'%".mysql_real_escape_string($val)."%'";
}
$string = implode(' OR url LIKE ', $query_parts);
$tank = "SELECT url FROM `PHP`.`db` WHERE url LIKE {$string}";
关于php - Mysql 中的数组 WHERE LIKE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9435225/