我正在为我的学术开发一个小应用程序。我有一个登记表和一个登录表。这就是我想要的,我有一个数据库配置文件,其中包含"连接到服务器,创建数据库和创建表查询"包含在其中。我在注册表单的顶部包含了这个数据库文件,这样当页面加载时,"查询应该执行并只创建一次数据库和表"。但问题是查询第一次成功执行,但当再次加载注册页面时,提示错误"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
for table
CREATE TABLE IF NOT EXISTS tablename;