$ wpdb-> prepare()在看似正确的SQL语句上返回NULL或为空

时间:2016-06-22 14:40:11

标签: php mysql wordpress gravity-forms-plugin wpdb

我正在使用Wordpress网站,其中登录的用户填写表单,并在提交后显示一个页面,他们可以根据购买历史记录选择他们还可以购买的其他服务。我正在使用Gravity Forms插件。

我通过运行SQL查询来检测其表单提交历史记录,然后最终合并jQuery以显示其个性化优惠来实现此目的。但是我已经走到这一步了,此时我只是试图回显sql查询结果

这是我的代码:

的functions.php

// Redirect user to Additional Service Offers page if ..
// .. user has services he/she has yet to purchase..
// AFTER FORM SUBMISSION
add_action('gform_after_submission', 'form_submit_redirect');

function form_submit_redirect() {
    if (is_user_logged_in()) {
        // Obtain ID of user currently logged in
        $current_user = wp_get_current_user();
        $cur_user_id = $current_user->ID;
        $frm_status = 'active';
        $q = "SELECT 'form_id' FROM wp_rg_lead WHERE 'created_by' = %d AND 'status' = %s";

        // Prepare sql query to retrieve user's past form entries
        global $wpdb;
        $results = $wpdb->get_results($wpdb->prepare($q, $cur_user_id, $frm_status));
        var_dump($results);
    }
    else { // Re-direct to log in according to current form page
        // This is all working ...
    }
}

我尝试过的事情:

  • var_dumping结果 - 返回空
  • 使用查询结果填充数组并var_dumping数组 - 返回空
  • 在phpMyAdmin中运行SQL语句 - 正常运行
  • 通过$ wpdb-> prepare()传递返回方法参数 - OBJECT,OBJECT_K和ARRAY_A 都返回NULL
  • 分别调用$ wpdb-> prepare()和$ wpdb-> get_results()的各种方法。

帮助将不胜感激!!

0 个答案:

没有答案