一尘不染

检查MySQL表是否存在

mysql

我的项目中有一个动态mysql查询生成器,可从不同的表创建选择查询。
我需要检查当前处理表是否存在。
假设我的表是table1,table2和table3。我的代码是这样的:

<?php
for($i = 1 ; $i <= 3 ; $i++) {
   $this_table = 'table'.$i;
   $query = mysql_query("SELECT * FROM $this_table");
   // ...
}
?>

我该如何进行检查(请告诉我最简单的方法)。


阅读 382

收藏
2020-05-17

共1个答案

一尘不染

更新的mysqli版本:

if ($result = $mysqli->query("SHOW TABLES LIKE '".$table."'")) {
    if($result->num_rows == 1) {
        echo "Table exists";
    }
}
else {
    echo "Table does not exist";
}

原始mysql版本:

if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$table."'"))==1) 
    echo "Table exists";
else echo "Table does not exist";

PHP docs引用。

2020-05-17