如何检查wordpress自定义表是否为空

时间:2014-09-18 06:33:12

标签: php mysql wordpress

关于wordpress cutom表的这个问题.. 我正在创建一个插件我想检查一个名为wp_school_post表的表是否为空。

请参阅下面的代码,该代码会引发以下错误

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\getwp\wp-content\plugins\getwp_P\schools_post_function.php on line 7

**filled** 

我的代码:

function schools_post_function()
{
//  echo "Sachool POST function";
    global $wpdb;
    $result = $wpdb->get_results("SELECT postid from wp_school_post WHERE `postid` IS NOT NULL");
    if(mysql_num_rows($result=='0'))
    {
        echo "not filled";
    }
    else
    {
        echo "filled";

    }
}

3 个答案:

答案 0 :(得分:5)

试试这个:)

<?php
function schools_post_function()
{
    global $wpdb;
    $result = $wpdb->get_results("SELECT postid from wp_school_post WHERE `postid` IS NOT NULL");
    if(count($result) == 0)
    {
        echo "not filled";
    }
    else
    {
        echo "filled";

    }
}
?>

答案 1 :(得分:1)

您可以使用get_var来简化代码并节省资源,以获取行数:

$count = $wpdb->get_var("SELECT COUNT(*)
    FROM {$wpdb->prefix}school_post WHERE postid IS NOT NULL");

if($count == 0)
{
    // No rows.
}

答案 2 :(得分:0)

使用wordpress&#39; WPDBget_results()方法将以对象/数组的形式提供数据,您只需要检查保存结果的$result的计数来自get_results()

if(count($result) == 0){
// your code
}

See WPDB usage details