注意:以下都是在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));
}