如何检查数据库中是否存在表

时间:2016-06-06 06:32:38

标签: php sql

我的页面

  

显示" mysql_num_rows()期望参数1是资源,   布尔值在......中给出。

表不存在"我不知道我的问题在哪里。

这是我的代码:

$sql="SELECT * 
    FROM              
    $db_name    WHERE 
    table_name='{$_SESSION
    ["group"]}'";
    $texist=mysql_query($sql);
    $count=mysql_num_rows($texist);

    if($count==1){
    echo"table exists";
    }else{
    echo "table does not exist";
    }

4 个答案:

答案 0 :(得分:2)

注意: mysql_ *在PHP中已弃用。使用MySQLi或PDO_MySQL

尝试

    if (mysql_num_rows(mysql_query("SHOW TABLES LIKE '" . $_SESSION["group"] . "'")) == 1)
    {
          echo "exists";
    }
    else
    {
          echo "not";
    }

答案 1 :(得分:1)

如果表格不存在,我们从表格中选择一行将返回false。我们需要在此处使用强比较opertator而不是==,您需要使用===或{{ 1}}

!==

答案 2 :(得分:0)

要检查数据库中是否存在表,您可以使用以下两种方法之一

1

SHOW TABLES LIKE 'table_name';

2

SELECT count(*)
FROM information_schema.tables
WHERE table_schema = 'db_name'
AND table_name = 'table_name'

有关详细信息,请参阅Here

答案 3 :(得分:0)

<?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); } 在出错时返回false,而不是资源。在继续之前检查该错误。

示例检查:

WHERE