簡體   English   中英

使用LIKE在MySQL php中檢索逗號分隔的值

[英]retrieve Comma separated values in MySQL php with LIKE

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";

我在裁談會上犯了一個錯誤,建議我加電。

您真的需要在這里使用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);

您只需要用逗號分隔ID並使用FIND_IN_SET即可,例如:

$ids = implode(',', $id_array);
$sql="SELECT * FROM `table` j INNER JOIN `table2` rj ON j.eid = rj.eid WHERE FIND_IN_SET(rj.applyto, $ids)";

嘗試這個!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM