除了表中的目标ID之外,WPDB查询不能与任何其他列一起使用吗?

时间:2016-03-09 23:55:52

标签: php mysql wordpress

我正在尝试定位其他列,但是我没有从查询结果中获取数据,而是当我定位id列时它工作得很好然后我不需要通过id定位我想要将数据定位到另一列,即sort_name

这是我的代码:

if ($_POST['cl_check_email']) {

        $contact_email = $_POST["contact_email"];

        echo $contact_email;

        global $wpdb;
        $results = $wpdb->get_results("SELECT * FROM civicrm_contact WHERE id=199");
        $count = count($results);
        print_r($results);

        if ($count > 0) { print_r($results); }

    //  echo $results[0]->option_value;;


    }

1 个答案:

答案 0 :(得分:1)

我假设您故意使用两个不同的$_POST字段(cl_check_emailcontact_email)。

如果没有看到代码无效,很难确定原因。但是,基于你的问题,这应该有效(未经测试):

$sql = $wpdb->prepare("SELECT * FROM civicrm_contact WHERE sort_name = %s", $contact_email);
$results = $wpdb->get_results($sql);

如果它不起作用,请回显$sql的值并针对您的数据库运行它以查看原因。也许数据并不像你期望的那样。