/*
$sql:查询数据库的SQL语句
$find_table:需要检查的表名
*/
mysql_connect('localhost','root','2260375') or die('can\'t not connect database')
if((int)check_table_is_exist('show databases','test')==1)
{
echo '该表存在'
}
else
{
echo '该表不存在'
}
function check_table_is_exist($sql,$find_table)
{
$row=mysql_query($sql)
$database=array()
$finddatabase=$find_table
while ($result=mysql_fetch_array($row,MYSQL_ASSOC))
{
$database[]=$result['Database']
}
unset($result,$row)
mysql_close()
/*开始判断表是否存在*/
if(in_array($find_table,$database))
{
return true
}
else
{
return false
}
}
?>
估计是的query函数是封装的mysql_query.
我测试了一下:
$sql="check table 表名"$res=mysql_query($sql)
while ($row = mysql_fetch_assoc($res)) {
print_r($row)
}
mysql_free_result($res)
//check table 返回的结果是:
Array
(
[Table] =>数据库名字.表名
[Op] => check
[Msg_type] => status
[Msg_text] => OK
)
你可以根据上面返回的结果来判断。
注意:你用mysql_query来执行一些语句的时候,如果执行错误讲返回false。如果没有权限,那么此函数也返回false。具体可参考此函数的php手册说明。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)