簡體   English   中英

PHP和MYSQL數據庫連接和表創建只有一次

[英]PHP and MYSQL database connection and table creation only once

我正在為我的學術開發一個小應用程序。 我有一個注冊表和一個log_in表。 這是我想要的,我有一個數據庫配置文件,其中包含“ 連接到服務器,創建數據庫和創建表查詢 ”。 我已將此數據庫文件包含在我的注冊表單頂部,以便在加載頁面時“ 查詢應執行並僅創建數據庫和表 ”。 但問題是查詢是第一次成功執行,但是當再次加載注冊頁時,它會提示錯誤“DATABASE ALREADY EXISTS”。 讓我開心。 我已經附加了db.php代碼..

<?php
$dbhost  = 'localhost';
$dbuser  = 'root';
$dbpass  = '';
$connect = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$connect) {
    die('SERVER CONNECTION FAILED...\n: ' . mysql_error());
}
;
$sql    = 'CREATE DATABASE USERS';
$retval = mysql_query($sql, $connect);
if (!$retval) {
    die('DATABASE CREATION FAILED\n: ' . mysql_error());
}
;
$sql = "CREATE TABLE USERS( " . "Memberid int(10) NOT NULL AUTO_INCREMENT,
        " . "Name varchar(100) NOT NULL,
        " . "Username varchar(20) NOT NULL,
        " . "Password varchar(10) NOT NULL,
        " . "Email varchar(20) NOT NULL,
        " . "Activation varchar(40) DEFAULT NULL,
        " . "Status int(1) NOT NULL DEFAULT '1',
        " . "PRIMARY KEY (`Memberid`)); ";
mysql_select_db('USERS');
$retval = mysql_query($sql, $connect);
if (!$retval) {
    die('COULD NOT CREATE TABLE\n: ' . mysql_error());
}
;
mysql_close($connect);
?>
<html>
    <body>
    //registration form code
    </body>
</html>

如果不存在,則查詢僅創建一次數據庫

            CREATE DATABASE IF NOT EXISTS DBName;

如果表不存在,則查詢僅創建一次

            CREATE TABLE IF NOT EXISTS tablename; 

您只能創建一次數據庫/表。

更改

CREATE DATABASE

至:

CREATE DATABASE IF NOT EXISTS

應對表創建語句應用相同的更改。

試試這個改變

CREATE DATABASE IF NOT EXISTS USERS

對於桌子

CREATE TABLE IF NOT EXISTS tablename; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM