我试图在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");字压一号
$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");会不会是编码问题?你能给我指路吗?谢谢。
发布于 2016-08-11 09:23:51
我假设您的wp表前缀是vp_。如果是这样的话,通过执行$wpdb->prefix."vp_pms_messages,您将得到不存在的表vp_vp_pms_messages。其他桌子也是如此。您还可以检查php错误日志,还可以使用名为Query的插件查看是否存在错误和其他调试
发布于 2016-08-11 09:26:52
您在函数中设置了global $wpdb吗?
如果不是这样的话,那么在调用之后检查值$wpdb->last_error,看看问题可能是什么。
https://stackoverflow.com/questions/38892109
复制相似问题