php - Mysql 中的数组 WHERE LIKE?

标签 php mysql arrays

我需要使用数组列表进行选择。 $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/

相关文章:

javascript - 在 ThingWorx 中仅显示一些 JSON 数组作为输出

javascript - 动态合并 img 数组中的 alt 标签数组

php - 在 Mysql 中通过 PHP 和 BLOB 动态图像

mysql - 选择 POINT() 100 米半径范围内的所有点

php - 如何仅使用一个 sql 查询打印帖子和评论

php - 如何修复 inlcude_once 在 Dreamweaver 中将 php 显示为仅输出错误?

mysql - 使用套接字登录 mysql 而不是在终端登录时出现套接字错误

java - 分别比较两个数组元素的和

php - 循环遍历 MYSQL 查询的结果并将其插入表中

php - 使用phing部署不同的环境