php - 使用 LIKE 在 MySQL php 中检索逗号分隔值

标签 php mysql sql

Array
(
    [0] => Array
        (
            [id] => 1
        )

    [1] => Array
        (
            [id] => 16
        )

    [2] => Array
        (
            [id] => 21
        )

    [3] => Array
        (
            [id] => 22
        )

    [4] => Array
        (
            [id] => 2
        )
)

上面的数组是一个$id

$grp_id="";
foreach($id as $gid)
{
   $grp_id .=  " LIKE %".$gid['id']."% AND rj.applyto";
}

我的问题是

$sql="SELECT * FROM `table` j INNER JOIN `table2` rj ON j.eid = rj.eid WHERE rj.applyto LIKE $grp_id";

我在我的auery中犯了一个错误请建议我coorect..

最佳答案

你真的需要在这里使用LIKE吗? 12 太常见了,我认为这不是您想要的。

假设这不是您真正想要的,只需使用 IN()。简单得多。

// Create comma separated list of IDs
$ids = implode(',', $id);
// Use IN() in our WHERE clause
$sql="SELECT * FROM `table` j INNER JOIN `table2` rj ON j.eid = rj.eid WHERE rj.applyto IN($ids);

关于php - 使用 LIKE 在 MySQL php 中检索逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24164654/

相关文章:

java - 电影数据库查询

PHP DOMDocument 将节点从一个文档移动到另一个文档

php - 我如何在我的 php 应用程序中显示 web 根目录之外的图像?

PHP 编码希伯来语

java - 在 Ibatis 中防止 SQL 注入(inject)

php - MySQL中出现的转义字符

分析函数中的 sql where 子句

php - 将 HTML 表单中的数组插入 MYSQL 数据库

php - 在 MYSQL、PHP 或 R 中从 mysql 数据库制作共现矩阵

sql - 如何将项目子集的总和与目标数字相匹配?