2016-10-23 94 views
0

我想WordPress的職位數據,並從wp_postmeta表 這讓wp_attached_file是我的SQL查詢GET後的數據通過SQL查詢

$query= mysql_query("SELECT wp_posts.ID,wp_posts.post_title,wp_posts.post_date,wp_postmeta.meta_value 
       FROM wp_posts 

        JOIN wp_term_relationships 
         ON wp_term_relationships.object_id = wp_posts.ID 

        JOIN wp_postmeta 
         ON wp_postmeta.post_id = wp_posts.ID 

       WHERE wp_posts.post_date > '$before7' 
       AND wp_posts.post_status = 'publish' 
       AND wp_posts.post_type = 'post' 
       AND wp_term_relationships.term_taxonomy_id = '$cat' 
       AND wp_postmeta.meta_key = '_wp_attached_file' 
       ORDER BY wp_posts.post_date DESC LIMIT 10"); 

它給我什麼,但如果我刪除從where子句這條線

AND wp_postmeta.meta_key = '_wp_attached_file' 

它的工作原理,但我需要這條線得到wp_attached_file

所以什麼是錯的MySQL查詢

+0

我想你使用的是默認的WordPress數據庫的前綴,但是在SQL請求中引用表的正確方法是這個變量'$ wpdb-> prefix',就像這樣:'「SELECT」。$ wpdb-> prefix。「posts.ID」。$ wpdb->前綴「posts.post_title ....」' – Bazaim

+0

您正在查詢'post_type ='post'',但如果我沒有記錯,'_wp_attached_file'只能用於'post_type ='attachment'' – JHoffmann

回答

0

確保與價值_wp_attached_file的wp_postmeta.meta_key真的存在,然後可能有對比賽的一些問題,嘗試修剪都可以導致隱藏字符

AND trim(wp_postmeta.meta_key) = trim('_wp_attached_file')