php 建立.lock檔案 來防止重複執行
阿新 • • 發佈:2018-12-17
$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;