dstjh46606 2012-06-09 08:08
浏览 24

too long

I'm trying to know is some table is empty or no, now I am realized this issue with this code:

// if table is empty it must return TRUE, if full FALSE

private function isEmpty($tableName)
{

    if ($result = $this->mysqli->prepare("SELECT COUNT(*) FROM ?"))
    {

            $result->bind_param("s",$tableName);
            $result->execute();
            $row_cnt = $result->num_rows;

            if (empty($row_cnt))
            {

                    return TRUE;

            }
            else
            {

                    return FALSE;

            }

    }

}

this code seems not a really perfect, I would like to know is there a better way to get the same results, but using predicat SQL EXISTS or something else? Thank you.

updated: thanks for comments and answer, but anyway I dont have a clue how to do it, it's calls an error:

$mysqli = new mysqli("localhost","root","","database");

if ($result = $mysqli->prepare("SELECT COUNT(*) FROM `talbe` LIMIT 1"))
{

    $row = $result->fetch_row();

    echo "<pre>";
    print_r($row);
    echo "</pre>";

    $result->close();

}
$mysqli->close();

[Sat Jun 09 11:25:34 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined method mysqli_stmt::fetch_row() in F:\server\sites\home\test.loc\www\empty.php on line 9

updated:

$mysqli = new mysqli("localhost","root","","db");

if ($result = $mysqli->query("SELECT * FROM `table` LIMIT 1"))
{

    if ($obj = $result->fetch_object())
    {

        echo "NOT EMPTY";

    }
    else
    {

        echo "empty";

    }


    $result->close();

}
$mysqli->close();

this is it.

  • 写回答

1条回答 默认 最新

  • donglianjiang9321 2012-06-09 08:21
    关注

    COUNT(*) is fine for determining if a table is empty, providing the table doesn't have huge number of rows.

    Another alternative would be SELECT (something) FROM ${table} LIMIT 1; if that returns a result then the table isn't empty.

    But are you sure it's possible to set table name via a parameter like that in mysqli? I didn't think it was, need to check.

    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c