Я разрабатываю небольшое приложение для своего преподавателя. У меня есть регистрационная форма и форма log_in. Вот что я хочу, у меня есть файл конфигурации базы данных, который содержит в себе « подключение к серверу, создание базы данных и создание табличных запросов ». Я включил этот файл базы данных в начало моей регистрационной формы, чтобы при загрузке страницы « запрос должен выполняться и создавать базу данных и таблицу ТОЛЬКО ОДИН РАЗ ». Но проблема заключается в том, что запрос успешно выполняется в первый раз, но когда страница регистрации загружается снова, появляется запрос «БАЗА ДАННЫХ УЖЕ СУЩЕСТВУЕТ». Пожалуйста, мне. Я прикрепил код 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;