【发布时间】:2021-04-20 08:58:23
【问题描述】:
好的,我已经盯着这个看了好几个小时了,我看不出有什么问题。我希望你们中的一个超级聪明的人能看到我的错误。我已经复制了 select 语句并在 PHPMYAdmin 上运行它,它在那里运行正常,但它在 Wordpress 中没有返回任何结果。我还验证了 2 个变量的填充是否正确。
$user = wp_get_current_user();
$terms = wp_get_object_terms($user->ID, 'departments');
$term = $terms[0]->term_id;
$results = $wpdb->get_results(
$wpdb->prepare(
"SELECT post_title, post_content
FROM wp_posts
INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
WHERE post_type = 'events'
AND meta_key = 'event_date'
AND meta_value = %s
AND term_taxonomy_id = %s"),array($date,$term));
如果我对 $results 进行 var_dump,我只会得到 NULL。
【问题讨论】:
-
是直接在db上运行的查询返回值吗?
-
我错过了执行语句,->prepare,->execute,->get_result
-
@LelioFaieta 是的,当我直接运行查询时,它会返回预期结果。
-
@Grumpy $wpdb->get_results() 自动执行查询。docs.w3cub.com/wordpress/classes/wpdb/get_results
-
@RickJames 我不明白这是怎么应用的?