Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не добавляется запись в Базу 
V
    Опции темы
marrisha
Дата 5.2.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



не могу разобраться вот в какой проблеме:
имеется БД в которой лежат 2 таблицы:
1) Структура таблицы `directories`

CREATE TABLE `directories` (
  `id` int(4) NOT NULL auto_increment,
  `name` tinytext NOT NULL,
  `parent` tinytext NOT NULL,
  `level` tinytext NOT NULL,
  `type` tinytext NOT NULL,
  `position` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;
****************************************

2) CREATE TABLE `text` (
  `id` int(4) NOT NULL auto_increment,
  `title` tinytext NOT NULL,
  `text` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
  
) TYPE=MyISAM  ;


мне необходимо с помощбю инсерта добавить записи как в первую так и во вторую таблицу, происходит следующее, 1 запись добавляется под id=127, повторная операция не происходит, пишет ошибку что нельзя добавить запись(если же я удаляю запись под id=127, то инсерт происходит но опять таки под номером 127), почему так происходит???
PM MAIL   Вверх
Mal Hack
Дата 5.2.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



А запрос можно глянуть?
PM ICQ   Вверх
marrisha
Дата 5.2.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



вот сама форма:


Код

$string = "<form method=\"POST\" action=\"index.php\">\n
<p>директория <input type=\"text\" name=\"name\" size=\"20\" value=\"\"></p>\n
<p>Заглавие страницы <input type=\"text\" name=\"textname\" size=\"20\" value=\"\"></p>\n
<p>Текст страницы  <textarea rows=\"20\" name=\"texttext\" cols=\"60\"></textarea></p>\n";
while ($levelrow = mysql_fetch_array($result)) 

$string = $string . "</select></p>\n
<p><input type=\"hidden\" name=\"action\" value=\"donewdir\"></p>\n
<p><input type=\"hidden\" name=\"dir\" value=\"$dir\"></p>\n
<p>Тип директории: <select size=\"1\" name=\"type\">\n
<option value=\"main\">Обычная директория</option>\n";
if ($userlevel == 4) {
$string .= "<option value=\"gmakro\">Директория Госслужбы макроэкономики</option>\n";
}
$string .= "</select></p>
<p><input type=\"submit\" value=\"Отправить\" name=\"B1\"><input type=\"reset\" value=\"Очистить\" name=\"B2\"></p>\n
</form>\n";
} else {
$string = "У Вас недостаточно прав\n";
}

.
.
.
.
.
а вот и сам инсерт:
Код



if ($user = 4) {
$texttext = str_replace("\n", "<br>", $texttext);
$name = strtoupper($name);
srand ((double)microtime() * 10000);
$rand = rand();
$time = time();
$id = $time . $rand;
$query = "insert into directories values ('$id', '$name', '$dir', '$level', '$type', '0')";
if (mysql_query($query)) {
$string = "<p>Директория добавлена </p>\n";
} else {
$string = "<p>Директория не может быть добавлена </p>\n";
}

if ($type == "main") {
$query = "insert into text values ('$id', '$textname', '$texttext')";
if (mysql_query($query)) {
$string = $string . "<p>Информация записана</p>\n";
} else {
$string = $string . "<p>Информацияне может быть записана</p>\n";
}


Это сообщение отредактировал(а) marrisha - 5.2.2007, 15:13
PM MAIL   Вверх
PARROT
Дата 5.2.2007, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Ошибки есть? 
Код

 or die(mysql_error());



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 5.2.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Блин, ну ведь стоит же auto_increment, зачем надо указывать значение при вставке в БД?
PM ICQ   Вверх
marrisha
Дата 5.2.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



убрала, вобще ничего не добавляется
PM MAIL   Вверх
mishaSL
Дата 5.2.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54



Замени строку:
Код

$query = "insert into directories values ('$id', '$name', '$dir', '$level', '$type', '0')";


на
Код

$query = "INSERT INTO `directories` VALUES ('', '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['dir'])."', '".mysql_real_escape_string($_POST['level'])."', '".mysql_real_escape_string($_POST['type'])."', '0')";


второй запрос аналогично сделай.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
marrisha
Дата 5.2.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.4.2006

Репутация: нет
Всего: нет



да таже ерунда записывается только 1 запись и больше записи не добавляются...

Добавлено @ 16:25 
все проблема решена... спасибо 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.