Php MySQLi查询是否为空表?

Php MySQLi查询是否为空表?,php,mysqli,Php,Mysqli,我想知道某个表是空的还是否,现在我意识到这个代码的问题: // 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",$tab

我想知道某个表是空的还是否,现在我意识到这个代码的问题:

// 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;

            }

    }

}
这段代码似乎不是很完美,我想知道有没有更好的方法来获得相同的结果,但是使用predictSQL EXISTS还是其他什么?多谢各位

更新: 谢谢你的评论和回答,但无论如何我不知道怎么做,这叫一个错误:

$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();
就是这样。

COUNT(*)
可以确定一个表是否为空,前提是该表没有太多的行

另一种选择是从${table}LIMIT 1中选择(某物)如果返回结果,则表不是空的


但您确定可以通过mysqli中的参数设置表名吗?我不认为是这样,需要检查。

我认为你不可能轻松地准备一个表名。我仍然需要一个解决方案,我找不到完整的示例。这在mysql而不是mysqli中似乎很简单。表名可能有害有任何危险吗?它来自用户吗?不,但谁知道。。你知道的。。我解决了。等待更新。@Artefact2错误,
SELECT COUNT(*)LIMIT 1
将返回与
SELECT COUNT(*)相同的结果,否?(即我认为限额是在计数(*)之后应用的)。再一次,我需要检查一下(这是漫长的一天!)啊,是的,你说得对,很抱歉。那么,只要简单的“选择*限制1”就可以了。
$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();