【发布时间】:2013-02-01 19:25:48
【问题描述】:
我正在创建一个站点的管理面板。当管理员输入一个类别时,一个表 在数据库中创建相同的类别名称,字段都是相同的.. 在开始管理员输入很多类别..那么我如何检查一个表是否已经在数据库中创建..因为所有表都是空的。为此
我正在尝试这段代码
<?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";
}
?>
但是如果表在数据库中,它总是显示“不存在表”。 我该如何解决这个问题..
【问题讨论】:
-
请不要将
mysql_*函数用于新代码。他们是deprecated。将prepared statements 与PDO 或MySQLi 一起使用。 -
您的逻辑存在根本缺陷。一个空表可以并且确实存在。检查表中是否存在行没有任何意义。如果表不存在,您会遇到查询失败(例如 mysql_query 返回 false 和错误代码 1146,而不是“未找到行”
-
但我的客户正在按类别输入 200 个表格,以便他想清楚这些表格是在之前输入的......所以我问这个......