1. 程式人生 > >php 建立.lock檔案 來防止重複執行

php 建立.lock檔案 來防止重複執行

    $fileName = "lib/craeteFormLock.lock";
    if (!file_exists($fileName)) {
        createSqlFrom($dbname, $con);
        fopen($fileName, 'w');
 
    }

    return $con;
//建立使用者登錄檔
    $tabName = 'la_user';
    $sql = "CREATE TABLE `{$dbname}`.`{$tabName}` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵id' , `username` VARCHAR(50) NOT NULL COMMENT '使用者名稱' ,`email` VARCHAR(50) NOT NULL COMMENT '郵箱' , `password` VARCHAR(50) NOT NULL COMMENT '密碼' , `create_time` INT(11) NOT NULL COMMENT '建立時間' ,`vip` INT(2) NOT NULL default -1 COMMENT '1 vip -1 not vip' , PRIMARY KEY (`id`)) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci";
    if (!check_table_is_exist($con, $dbname, $tabName)) {
        #echo '該表不存在';
        if (!mysqli_query($con, $sql)) {
            echo '使用者表格建立失敗';
            exit;
        }
    }

完整程式碼

function mysqlinit($host = DB_HOST, $username = DB_USER, $password = DB_PWD, $dbname = DB_NAME, $dbprot = DB_PORT)
{


    $con = mysqli_connect($host, $username, $password, $dbname, $dbprot);

    if (!$con) {
        echo mysqli_error($con);
        return false;
    }
    $result = mysqli_query($con, 'show databases;');
    While ($row = mysqli_fetch_assoc($result)) {
        $data[] = $row['Database'];
    }
    if (!in_array(strtolower($dbname), $data)) {
        #echo "資料庫不存在";
        if (!mysqli_query($con, "CREATE DATABASE " . $dbname)) {
            echo "資料庫建立失敗", mysqli_error($con);
        }
    }

    if (!mysqli_select_db($con, $dbname)) {
        echo mysqli_error($con);
        return false;
    }
    mysqli_set_charset($con, 'utf8');
    $fileName = "lib/craeteFormLock.lock";
    if (!file_exists($fileName)) {
        createSqlFrom($dbname, $con);
        fopen($fileName, 'w');
    }

    return $con;