powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP)создание двух таблиц для БД
14 сообщений из 14, страница 1 из 1
(PHP)создание двух таблиц для БД
    #38530810
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос конечно глупый но запутался по полной и так и сяк пробовал но в БД заносится только первая таблица...коечто возможн не дописано исправлял непомн даж скок раз... заранее спасибо

<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
mysql_connect(DB_HOST, DB_LOGIN) or die(mysql_error());
mysql_query("SET NAMES utf8_general_ci");
$sql = 'CREATE DATABASE sneg';
mysql_query($sql) or die(mysql_error());
mysql_select_db('sneg') or die(mysql_error());

$sql=("CREATE TABLE msgs (
id int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL,
email varchar(255) NOT NULL,
msg TEXT NOT NULL,
PRIMARY KEY (id)
) ");


$sql=("CREATE TABLE login (
id int(11) DEFAULT '0' NOT NULL auto_increment,
username varchar(255) NOT NULL,
password varchar(255) NOT NULL,
PRIMARY KEY (id)
)");
mysql_query($sql) or die(mysql_error());
mysql_close();
print '<p>Data Base created!</p>';

?>
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38530819
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarod$sql=
sarod$sql=
sarodmysql_query($sql)
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38530973
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну эт последний вариант того что я вчера намудрил таблицы заносить пробовал по разному и одним запросом к базе но почемут заносится только одна таблица( возможн коечего не понимаю и не так делаю еслиб подсказали как правильно записывать несколько таблиц то сразу бы многое прояснилось...
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38530987
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarod,

1. Одним запросом можно создать одну таблицу. И не более.
2. Функция mysql_query умеет отправлять только один запрос к СУБД.

Из этого следует, что для создания двух таблиц нужно выполнить два отдельных запроса.

Ваш же код содержит два присваивания, где текст запроса "CREATE TABLE..." заносится в переменную $sql, и только одно выполнение запроса. Таким образом, первая таблица создана не будет по той простой причине, что запрос к СУБД так и не был отправлен.
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531016
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я пробовал 2 раза тоже после каждой таблицы вызывал mysql_query и заносил в базу таблицу ну по крайней мере пытался... делал при этом проверку и первая таблица успешно заносилась а вторая нивкакую все перерыл в инете поразному пробовал но никак только через phpmyadmin
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531018
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
незнаю может какието ограничения у меня в самой базе но первая же заносится и всегда заносилась без проблем
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531138
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarod,

Сообщение об ошибке должно быть. Сервер просто так на пустом месте не может не выполнить запрос и обязан пояснить причину отказа.

И еще момент. Возьмите за правило строго соблюдать синтаксис. Если не ошибаюсь, "password" - это зарезервированное слово в MySQL, имя функции. Следовательно, его обязательно нужно брать в обратные кавычки.
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531243
seejil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarod,

конкатенацию используй, если такой код хочешь оставить. И тегами пользуйся для удобства
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
mysql_connect(DB_HOST, DB_LOGIN) or die(mysql_error());
mysql_query("SET NAMES utf8_general_ci");
$sql = 'CREATE DATABASE sneg';
mysql_query($sql) or die(mysql_error());
mysql_select_db('sneg') or die(mysql_error());

$sql="CREATE TABLE msgs (
id int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL,
email varchar(255) NOT NULL,
msg TEXT NOT NULL,
PRIMARY KEY (id)
) ";

//здесь 
$sql.="CREATE TABLE login (
id int(11) DEFAULT '0' NOT NULL auto_increment,
username varchar(255) NOT NULL,
password varchar(255) NOT NULL,
PRIMARY KEY (id)
)";
mysql_query($sql) or die(mysql_error());
mysql_close();
print '<p>Data Base created!</p>';
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531285
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seejil,

Вы свой код проверяли на работоспособность? ;-)
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531289
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вторая таблица подключаетсяя терь но вылазиет ошибка синтаксиса( 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 'CREATE TABLE login( id int(11) NOT NULL auto_increment, username varchar(255' at line 7
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531290
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
голову уже сломал)) даж нетак подключает первую таблицу а на второй вылазиет сообщение об ошибке
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531305
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarodвылазиет ошибка синтаксисаСтроже соблюдайте синтаксис. Писал же ж выше.
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38531784
sarod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасиб за помощь многое прояснилось разобрался таки)) перед второй таблицей еще раз обратился к базе $sql='USE gbook'; все остальное так и оставил после $sql="CREATE TABLE... ругалось на эт $sql.=
...
Рейтинг: 0 / 0
(PHP)создание двух таблиц для БД
    #38539972
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sarod,

Делают проще. Пишут в schema.sql все что требуется для установки на новом месте, в процессе установки читают файл, разбивают его на токены по ; и засылают каждый токен СУБД через установленное соединение.

В рамках mysqli на php можно юзать multi_query(). Тогда и разбивать ничего не надо. Прямиком из файла в субде.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP)создание двух таблиц для БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]