$wpdb->get_var-当没有找到记录时,返回什么值?

时间:2014-04-14 作者:Dean

我有以下代码:

$queryPermission = $wpdb->get_var(  $wpdb->prepare("SELECT Active FROM testers 
                                              WHERE user_id = \'$user_id\' "));
    if($queryPermission == NULL OR $queryPermission == 0) {
         header (\'location: noaccess.php\');
    } else {

    }
当SQL返回记录时,$queryPermission变量设置为1,这很好。但是,当SQL返回no记录时,变量$queryPermission将不返回任何内容。然后,我想尝试在这个变量不包含任何内容时重新引导用户。

我尝试了“NULL”和“0”,但这两个选项似乎都不起作用。我想知道,如何使用get\\u var处理SQL没有返回任何内容的情况?

谢谢:)

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

首先,您使用prepare()时出错。应该是这样的:

$wpdb->prepare("SELECT Active FROM testers WHERE user_id = %s", $user_id)

或者更好的是(%d)表示数值,与%s相反,后者是字符串:

$wpdb->prepare("SELECT Active FROM testers WHERE user_id = %d", $user_id)

如果启用了任何调试,它将从代码中抛出一个错误。这可能会使您的位置标题无法正常工作。

其次,get\\u var()函数确实返回null 当没有结果时。

第三,设置一个位置:之后没有实际退出的标题可能会导致您的标题稍后被其他内容覆盖。

结束

相关推荐

我的WordPress博客中可以有1个以上的MySQL数据库吗?

在第一次启动时,WordPress会提示您输入MySQL数据库用户名、密码等。然后我可以从仪表板开始工作。WordPress是否可以有多个数据库?如果是,有2-3个数据库的可能示例是什么?什么时候需要一个以上的db?Or the working rule is: one blog - one db? If you have 2-3 blogs, can you manage them from the SAME dashboard!? And each must of course have 1 db?