Не получается создать две таблицы в php-сценарии

petunc

Новичок
Не получается создать две таблицы в php-сценарии

Не получается разобраться в чем ошибка, ниже мой код:

<?php
mysql_connect("127.0.0.1", "root", "") or die ("ERROR");

$sql = 'CREATE DATABASE cg';

mysql_query($sql) or die(mysql_error());

mysql_select_db('cg') or die(mysql_error());

$sql = "
CREATE TABLE add_rest (
id int(11) NOT NULL auto_increment,
rest_name varchar(50) NOT NULL default '',
rest_address varchar(100) NOT NULL default '',
rest_tel varchar(50) NOT NULL default '',
rest_web varchar(50) NOT NULL default '',
rest_description TEXT,
PRIMARY KEY (id)
)";
$sql = "
CREATE TABLE add (
id int(11) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
address varchar(100) NOT NULL default '',
PRIMARY KEY (id)
)";

mysql_query($sql) or die(mysql_error());

mysql_close();

print '<p> Database is developed!</p>';
?>
подскажите плз
 

Gremboloid

инженера Гр...
у тебя, для того чтобы создать две таблицы, надо выполнить два запроса. А у тебя только последний запрос выполняется.
пропустил в одном месте mysql_query($sql)
 

petunc

Новичок
на самом деле не создалась ни одна таблица (
и если два раза отправляю запрос, аналогичная ситуация..

<?php
mysql_connect("127.0.0.1", "root", "") or die ("ERROR");

$sql = 'CREATE DATABASE cg';

mysql_query($sql) or die(mysql_error());

mysql_select_db('cg') or die(mysql_error());

$sql = "
CREATE TABLE add_restaurants (
id int(11) NOT NULL auto_increment,
rest_name varchar(50) NOT NULL default '',
rest_address varchar(100) NOT NULL default '',
rest_tel varchar(50) NOT NULL default '',
rest_web varchar(50) NOT NULL default '',
rest_description TEXT,
PRIMARY KEY (id)
)";

mysql_query($sql) or die(mysql_error());

$sql = "
CREATE TABLE add (
id int(11) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
address varchar(100) NOT NULL default '',
PRIMARY KEY (id)
)";

mysql_query($sql) or die(mysql_error());

mysql_close();

print '<p> Database is developed!</p>';
?>
 

petunc

Новичок
1)отправил запрос в терминале show tables from cg;
результат - 0 таблиц

2)если в этой сценарии создаю только таблицу, то она появляется и на фронте виден результат
 

Фанат

oncle terrible
Команда форума
а что пишет-то этот горемычный скрипт, когда его запускаешь?
 

petunc

Новичок
когда был запрос на одну таблице, то при первом обращении к файлу писал: Database is developed!

теперь при первом запуске - ничего не пишет
если повторно обращаться - Can't create database 'cg'; database exists
 

Фанат

oncle terrible
Команда форума
аааааааааааааа!
Чуваки, вы сговорились, что ли, специально в пятницу представление устироить? :D
ну это просто праздник какой-то :)))
 

petunc

Новичок
я понимаю что для многих здесь это покажется элементарным и смешным, но я уже потратил много времени на поиск ответа перед тем как написать сюда..
 

Фанат

oncle terrible
Команда форума
К вопросу об английском языке.
Дело в том, что у тебя стоит команда die
которая прерывает выполнение скрипта при ошибке создания базы данных.
поскольку ошибка происходит, скрипт дальше не выполняется.
 

Фанат

oncle terrible
Команда форума
и слова create database в ошибке тебе ну совсем ничего не говорят?
 

petunc

Новичок
по поводу ошибки - ок

но причина еще и в другом:

решил создать новый файл исключительно для создания таблиц, странно что при наименовании второй таблицы "add" получаю ошибку, как только заменяю название таблицы на "adds", ошибка пропадает: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'add ( id int(11) NOT NULL auto_increment, name varchar(50) NOT NULL default ''' at line 1

<?php
mysql_connect("127.0.0.1", "root", "") or die ("ERROR");

//$sql = 'CREATE DATABASE cg';

//mysql_query($sql) or die(mysql_error());

mysql_select_db('cg') or die(mysql_error());

$sql = "
CREATE TABLE add_rest (
id int(11) NOT NULL auto_increment,
rest_name varchar(50) NOT NULL default '',
rest_address varchar(100) NOT NULL default '',
rest_tel varchar(50) NOT NULL default '',
rest_web varchar(50) NOT NULL default '',
rest_description TEXT,
PRIMARY KEY (id)
)";

mysql_query($sql) or die(mysql_error());

$sql = "
CREATE TABLE add (
id int(11) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
address varchar(50) NOT NULL default '',
PRIMARY KEY (id)
)";

mysql_query($sql) or die(mysql_error());

mysql_close();

print '<p> OK!!!</p>';
?>
 

Фанат

oncle terrible
Команда форума
tf, ты принципиально неправ.
Ты не понимаешь смысла отладки. Отладка помогает, может в принципе помочь только тому, кто понимает, что он делает.
Здесь надо отправлять не отлаживать (вс отладочная информация у него есть, в общем-то), а читать первоисточники.

petunc add - зарезервированное слово. вообще, идентификаторы (имена таблиц, полей и так далее) надо писать в мускуле в обратных кавычках - вот этих `
 
Сверху