PHP和MYSQL数据库连接和表创建只有一次 [英] PHP and MYSQL database connection and table creation only once

查看:102
本文介绍了PHP和MYSQL数据库连接和表创建只有一次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的学术人员开发一个小型应用程序。我有一个注册表单和一个log_in表单。这是我想要的,我有一个数据库配置文件,其中包含连接到服务器,创建数据库和创建表查询。我将这个数据库文件包含在注册表单的顶部,这样当页面加载时,查询应该执行并创建数据库和表格ONLY 。但问题是查询第一次成功执行,但当注册页面再次加载时,它会提示错误数据库已经存在(DATABASE ALREADY EXISTS)。让我开心。
我附上了db.php代码..

I'm developing a small application for my academic. i have a registration form and a log_in form. Here is what i want, i have a database configuration file which contains "connection to server, creating database and creating table queries" included in it. I've included this database file at the top of my registration form so that when the page is loaded the "query should execute and create database and table ONLY ONCE". But the problem is the query is successfully executing for the first time but when the registration page is loaded again, it prompt's an error "DATABASE ALREADY EXISTS". Please me. I've attached the db.php code..

<?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;

如果查询不存在,查询将只创建一次表

query to create table only once if it doesn't exists

            CREATE TABLE IF NOT EXISTS tablename; 

这篇关于PHP和MYSQL数据库连接和表创建只有一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆