Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查数据库中已有的空表_Php_Mysql - Fatal编程技术网

Php 如何检查数据库中已有的空表

Php 如何检查数据库中已有的空表,php,mysql,Php,Mysql,我正在创建一个站点的管理面板。当管理员输入一个类别时,一个 在数据库中创建相同的类别名称,所有字段和表都相同。。 在启动admin时,输入很多类别。然后我如何检查数据库中是否已经创建了表。因为所有表都是空的。为此 我正在尝试这个代码 <?php $con = mysql_connect("localhost","root",""); if (!$con) {die('Could not connect: ' . mysql_error());} $sql

我正在创建一个站点的管理面板。当管理员输入一个类别时,一个 在数据库中创建相同的类别名称,所有字段和表都相同。。 在启动admin时,输入很多类别。然后我如何检查数据库中是否已经创建了表。因为所有表都是空的。为此

我正在尝试这个代码

     <?php $con = mysql_connect("localhost","root","");
     if (!$con)
     {die('Could not connect: ' . mysql_error());}
   $sql="SELECT * FROM admin";//(for trial im a changing the name manuaaly)

    $result=@mysql_query($sql);

  if (!$result)

      {
        echo "No table exists";
     }
      else
      {
     echo "yes";
     }
    ?>

但在这种情况下,如果表在数据库中,它总是显示“不存在表”。。 我该如何解决这个问题呢?

看一看,特别是

即:


不要为每个类别创建单独的表格
将其设置为一个
,包含所有字段集,另一个包含类别名称(或类别id,取决于数据库架构)

这是数据库工作原理的基础

因此,您只需运行常规查询,以检查此类类别名称是否已存在:

SELECT id FROM categories WHERE name = 'name to check';

请不要对新代码使用
mysql.*
函数。他们是。与或一起使用。你的逻辑根本上是有缺陷的。空表可以而且确实存在。检查表中是否存在行并不意味着什么。如果表不存在,您将得到一个查询失败(例如,mysql_查询返回false和错误代码1146,而不是“找不到行”)但是我的客户按类别输入了200个表,所以他想澄清这些表是在之前输入的..所以我问这个..是的,先生,我可以从类别中使用SELECT id,其中name='name to check';这个方法..但是将所有记录保存在一个表中..然后所有记录都会超过10000..那么在这种情况下,它会对mysql产生影响吗呃。。
SELECT id FROM categories WHERE name = 'name to check';