簡體   English   中英

SQL查詢–如何從數組中獲取價值?

[英]SQL query – how to get value from array?

我一直在使用以下SQL查詢從WordPress用戶配置文件中輸出值。

$divisions = $wpdb->get_col("
    SELECT Distinct(c.meta_value) 
    FROM $wpdb->usermeta AS r  
    INNER JOIN $wpdb->usermeta AS y
      ON r.user_id = y.user_id
    INNER JOIN $wpdb->usermeta AS g
      ON r.user_id = g.user_id
    INNER JOIN $wpdb->usermeta AS re
      ON r.user_id = re.user_id
    INNER JOIN $wpdb->usermeta AS c
      ON r.user_id = c.user_id
    WHERE r.meta_value LIKE '%subscriber%'
    AND y.meta_key = 'CERTIFIED_DISPLAY'
    AND y.meta_value NOT LIKE 'no'
    AND g.meta_key = 'CERTIFIED_CATEGORY'
    AND g.meta_value = '$category'
    AND re.meta_key = 'dbem_region'
    AND re.meta_value = '$region'
    AND c.meta_key = 'dbem_school_division'
    ORDER BY c.meta_value ASC
    ");

直到我不得不將其中一個元密鑰('CERTIFIED_CATEGORY')更改為數組之前,它的工作都非常出色。 該特定字段曾經是帶有單個值的選擇框,然后將其更改為復選框列表,該列表是值的數組。 這是我現在需要修復的查詢的一部分:

AND g.meta_key = 'CERTIFIED_CATEGORY'
AND g.meta_value = '$category'

$category是數組中的值之一。 我以為可以將'='更改為'LIKE',但沒有用:

AND g.meta_key = 'CERTIFIED_CATEGORY'
AND g.meta_value LIKE '$category'

我也嘗試過“ IN”,但沒有運氣。 我怎樣才能做到這一點?

我認為您可以為此使用mysql_fetch_array命令。

檢查以下鏈接: PHP.NET

在上面的鏈接中還有一個示例,希望有幫助。

看來我需要做的就是更改此行:

AND g.meta_value = '$category'

對此:

AND g.meta_value LIKE '%$category%'

我已經嘗試過使用LIKE,但是沒有在變量周圍使用%符號。 顯然,%是必須的,因為現在可以了。 希望我了解更多來解釋原因

謝謝!

暫無
暫無

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

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