2016-10-23 63 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')