Wordpress:使用$ wpdb-> get_results而不是mysqli_query导致空var

时间:2016-08-11 09:13:55

标签: php mysql wordpress mysqli

我正在尝试在wordpress查询中翻译使用mysqli_query构建的查询。 问题是使用$wpdb->get_results我根本没有得到任何结果。我甚至尝试使用$wpdb->query$wpdb->get_var获得任何结果。

  

$ MYSQLi包含您可以想象的数据库信息   当然所有变量都很好!它们里面有正确的值。

旧查询

                $check_last_conversation = mysqli_query($MYSQLi,"select * from vp_pms_messages inner join vp_pms_group_users on vp_pms_messages.id = vp_pms_group_users.message_id and vp_pms_messages.group_id = vp_pms_group_users.group_id where vp_pms_group_users.from_username = '".mysqli_real_escape_string($MYSQLi,$session_username)."' and vp_pms_group_users.from_del = '".mysqli_real_escape_string($MYSQLi,'0')."' or vp_pms_group_users.to_username = '".mysqli_real_escape_string($MYSQLi,$session_username)."' and vp_pms_group_users.to_del = '".mysqli_real_escape_string($MYSQLi,'0')."' group by vp_pms_messages.group_id ".$order_data_by_this." desc limit 8");

Wordpress一个

                $check_last_conversation = $wpdb->get_results("select * from ".$wpdb->prefix."vp_pms_messages inner join ".$wpdb->prefix."vp_pms_group_users on ".$wpdb->prefix."vp_pms_messages.id = ".$wpdb->prefix."vp_pms_group_users.message_id and ".$wpdb->prefix."vp_pms_messages.group_id = ".$wpdb->prefix."vp_pms_group_users.group_id where ".$wpdb->prefix."vp_pms_group_users.from_username = '".$session_uid."' and ".$wpdb->prefix."vp_pms_group_users.from_del = '0' or ".$wpdb->prefix."vp_pms_group_users.to_username = '".$session_uid."' and ".$wpdb->prefix."vp_pms_group_users.to_del = '0' group by ".$wpdb->prefix."vp_pms_messages.group_id ".$order_data_by_this." desc limit 8");

可能是某些编码问题?你给我一些指示吗?感谢。

2 个答案:

答案 0 :(得分:0)

我假设你的wp表前缀是vp_。如果是这样,那么通过$wpdb->prefix."vp_pms_messages,您将得到vp_vp_pms_messages这是不存在的表。其他表也是如此。您还可以检查您的php错误日志以及使用名为Query Monitor的插件,看看是否有任何错误和其他调试

答案 1 :(得分:0)

您是否在功能中设置了stats.wilcoxon(sample_array - single_value)

如果不是这样,请在通话后检查值global $wpdb以查看问题所在。