【发布时间】:2013-01-23 01:04:09
【问题描述】:
SELECT wposts.*, wpostmeta.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2, $wpdb->postmeta wpostmeta3
WHERE wposts.ID = wpostmeta.post_id
AND wposts.ID = wpostmeta2.post_id
AND wposts.ID = wpostmeta3.post_id
AND wpostmeta.meta_key = 'listing_subtype'
AND wpostmeta.meta_value = '$search_home_type'
AND wpostmeta2.meta_key = 'district'
AND wpostmeta2.meta_value = '$search_district'
AND wpostmeta3.meta_key = 'price_current'
AND wpostmeta3.meta_value IS >= '$search_price_min' AND <= '$search_price_max'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'vreb_property'
ORDER BY wposts.post_date DESC
AND wpostmeta3.meta_value IS >= '$search_price_min' AND <= '$search_price_max' 行试图确保 meta_key price_current 的 meta_value 大于 $search_price_min 并且小于 $search_price_max p>
这行不通...
[You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<= '100000' AND wposts.post_status = 'publish' AND wposts.post_type = 'vreb_' at line 11]
【问题讨论】:
-
是显示无效的 SQL 语句还是没有返回您想要的结果?
-
此时声明无效。我尝试在该语句周围添加方括号,但这似乎没有什么不同。
-
去掉
IS >=中的IS应该是wpostmeta3.meta_value >= '$search_price_min' AND <= '$search_price_max' -
(可以试试 BETWEEN,
AND wpostmeta3.meta_value BETWEEN '$search_price_min' and '$search_price_max') -
是的,我打赌@MichaelBerkowski 是对的