qq807722947
2021-08-18 13:58
采纳率: 82.1%
浏览 50
已结题

php判断数据库是否存在,不存在就新建

我的写法有点问题无法做出判断
还请帮忙实现以下,判断是否存在表 不存在就新建,存在就输出存在
我的数据库是这样链接的 : $DB = MySql::getInstance();


<?php
//    连接数据库
$DB = Database::getInstance();
//    判断表是否存在
if($DB->query("SHOW TABLES LIKE 'emlog_weiyu")==0) {
    echo "存在";
} else {

//    新建表
//    表的结构 `emlog_weiyu`
//    CREATE TABLE `emlog_weiyu` (
//      `id` int(10) UNSIGNED NOT NULL,
//      `biaoti` varchar(32) DEFAULT NULL,
//      `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '内容',
//      `img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '图片',
//      `author` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '作者',
//      `type` varchar(32) CHARACTER SET utf8mb4 NOT NULL DEFAULT '' COMMENT '类型:wy=微语,history=大事记',
//      `create_time` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间'
//     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

}
?>
  • 收藏

2条回答 默认 最新

  • 代码的灵魂是bug! 2021-08-18 16:48
    已采纳
    <?php
    $servername = "localhost";
    $username = "root";
    $password = "123456";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password,'test');
    
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    echo "连接成功";
    if(mysqli_num_rows(mysqli_query($conn,"SHOW TABLES LIKE 'user'"))==1) {
        echo "Table exists";
    } else {
        echo "Table does not exist";
    }
    ?>
    
    
    已采纳该答案
    打赏 评论
  • 老紫竹 2021-08-18 16:23

    create database if not exists XXXXX;

    create table if not exists BBBBBB;

    单纯查询的化,从元数据表里查,比如tables表,一般在information_schema库里

    打赏 评论

相关推荐 更多相似问题