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