注意:以下都是在ThinkPHP框架中进行测试
方式1
通过查询MySQL的配置表信息
//TABLE_SCHEMA:表示数据库名 , TABLE_NAME : 表示表名
$sql = "SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='database_name' and TABLE_NAME = 'table_name'";
$model = new \Think\Model();
$res = $model->query($sql);
$isExist = $res[0];
方式2
查询指定数据中的所有数据表,然后比较查询的数据表是否存在
//检测表是否存在
function tableExist($tableName){
if(empty($tableName)) return false;
$tableName = C('DB_PREFIX').$tableName;
$model = new \Think\Model();
$tableArr = $model->query('SHOW TABLES');
$_fName = 'tables_in_'.C('DB_NAME');
return in_array($tableName, array_column($tableArr, $_fName));
}