使用PHP检查MySQL数据库是否为空

Rav*_*Rav 2 php mysql database

创建数据库后,如何使用PHP来检查数据库是否包含表或表结构?

场景:

当用户第一次访问系统时,它会创建一个没有表的默认数据库,然后在下一步中,用户应该通过上传.sql文件来导入自定义数据库结构.我需要检查他们是否已导入数据库,或者通过检查先前自动创建的默认数据库是否具有任何表结构来跳过该步骤.

当我执行mysql_list_tables(defaultDBName)它时,只返回" 您的SQL查询已成功执行 ",但在phpMyAdmin中没有设置结果.

Raj*_*hal 7

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Table: {$row[0]}\n";
}

mysql_free_result($result);
?>
Run Code Online (Sandbox Code Playgroud)

来自文档http://php.net/manual/en/function.mysql-list-tables.php

您可以使用if(mysql_num_rows($result) > 0)而不是循环$ result ..