[英]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”,但沒有運氣。 我怎樣才能做到這一點?
看來我需要做的就是更改此行:
AND g.meta_value = '$category'
對此:
AND g.meta_value LIKE '%$category%'
我已經嘗試過使用LIKE,但是沒有在變量周圍使用%符號。 顯然,%是必須的,因為現在可以了。 希望我了解更多來解釋原因 。
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.