WordPress SQL查询-返回‘True’、‘False’或‘Null’

时间:2014-09-16 作者:user13286

我正在为我的网站编写一个PHP表单,要求用户在表单激活之前输入代码。我有一个名为“used”的字段,我将其设置为布尔/TinyInt,我认为它将返回0、1或“null”,但它似乎不是这样工作的。

目前,我在这个数据库中有2个条目,其中一个在“used”字段中有一个1,另一个没有(null),但由于某种原因,这两个查询都返回“1”

默认情况下,所有代码都将输入数据库,并将“null”分配给“used”字段。当他们输入代码时,它首先检查数据库中是否存在该代码,如果存在,然后检查“已使用”字段,查看是否有人已使用该代码注册。

我对WP查询很陌生,所以谁能告诉我实现这一点的最佳方法是什么?以下是我目前的代码:

$enteredCode = $_GET[\'code\'];

global $wpdb;

$codeQuery = $wpdb->query("SELECT used FROM rpp_codes WHERE code=\'".$enteredCode."\'");
$exists = $wpdb->get_results("SELECT used FROM rpp_codes WHERE code=\'".$enteredCode."\'");

if (count ($exists) < 1) {
    echo "invalid";
} else {
    if ($codeQuery == 1) {
        echo "true";
    } else {
        echo "false";
    }
}

1 个回复
最合适的回答,由SO网友:karpstrucking 整理而成

$wpdb->get_results() 返回行对象的索引数组,但它看起来像是$exists 包含所用列的实际值。你可能想要$wpdb->get_var(): http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable

结束