X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> MySQL - нужна помощь с таблицами, Проясните ситуацию пожалуйста)
Fayl
Fayl
Topic Starter сообщение 4.3.2009, 16:31; Ответить: Fayl
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 296
Регистрация: 14.9.2008
Поблагодарили: 129 раз
Репутация:   21  


Приветствую!
Ситуация следующая: есть скрипт, но без sql дампа. Пытаюсь воссоздать структуру, благо значений там раз-два и обчелся.
С mysql встречаюсь, но как с учителем химии в школе - "Здравствуйте", и быстрей бежать happy.gif
Сам код:
mysql_query("INSERT INTO  `razdel` VALUES ('".$id."',  '".$name."')");

Логично предположить что существовала некая таблица razdel. В ней - два поля.
Вопрос номер один: при создании поля, как именно обозначить его?
".$id."
.$id.
$id
id
unsure.gif Вот)
Идём дальше, код:
mysql_query("UPDATE  `razdel` SET  `name` =  '".$name."' WHERE  `id` = ".$id." LIMIT 1");

Здесь, как я понимаю - идёт запись как их то данных в основную таблицу, НО:
1. Запись в таблицу RAZDEL, в поле NAME, и получается что в поле id? Поидее на русском это должно выглядеть так:
mysql_query("ОБНОВИТЬ `razdel` ВЫБРАТЬ  `name` =  '".$name."' ГДЕ  `id` = ".$id." LIMIT 1");

Вот такие "мутные-замуты" blink.gif
Давайте вместе разбираться)

Сообщение отредактировал Fayl - 4.3.2009, 16:32
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
KeYZeD
KeYZeD
сообщение 4.3.2009, 16:38; Ответить: KeYZeD
Сообщение #2


Участник
***

Группа: User
Сообщений: 225
Регистрация: 9.6.2008
Из: Астана
Поблагодарили: 54 раза
Репутация:   18  


1) обозначить надо как 'id' и 'name' , $id - это переменная в php, в которой хранится значение.

2) это запись в поле 'name', где 'id' = нашему значению, то есть обновляется только 'name'.

SET - это "установить".


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fayl
Fayl
Topic Starter сообщение 4.3.2009, 16:55; Ответить: Fayl
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 296
Регистрация: 14.9.2008
Поблагодарили: 129 раз
Репутация:   21  


Пасиба большое! smile.gif
Данные в поля пишутся исправно, но тут вот какое дело:
<td><a href=\"?del=".$row['id']."\">Удалить</a></td>
<td><a href=\"?edit=".$row['id']."\">Редактировать</a></td>

При наведении на эти ссылки они все имеют вид: _http://site.ru/index.php?edit=
Дамп выглядит так:
-- Структура таблицы `razdel`
--

CREATE TABLE `razdel` (
  `id` varchar(100) NOT NULL,
  `name` varchar(100) NOT NULL,
  PRIMARY KEY  (`name`),
  KEY `name` (`name`),
  FULLTEXT KEY `name_2` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

--
-- Дамп данных таблицы `razdel`
--

INSERT INTO `razdel` VALUES ('', 's');
INSERT INTO `razdel` VALUES ('', 'zhopa');
INSERT INTO `razdel` VALUES ('', 'shopa2');

А по идее в скобах выделенных жирным шрифтом должен быть номер( цифра ) INSERT INTO `razdel` VALUES ('', 's');
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DarkByte
DarkByte
сообщение 4.3.2009, 17:03; Ответить: DarkByte
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 491
Регистрация: 24.5.2008
Из: Челябинск
Поблагодарили: 63 раза
Репутация:   13  


(Fayl @ 4.3.2009, 16:55) *
INSERT INTO `razdel` VALUES ('', 's');
INSERT INTO `razdel` VALUES ('', 'zhopa');
INSERT INTO `razdel` VALUES ('', 'shopa2');

А по идее в скобах выделенных жирным шрифтом должен быть номер( цифра ) INSERT INTO `razdel` VALUES ('', 's');

Если поле ID будет с флагом auto_increment, то при вставке значения NULL вставится следующий номер по порядку, видимо мускул додумается сам, что StrToInt('') = NULL smile.gif


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fayl
Fayl
Topic Starter сообщение 4.3.2009, 17:10; Ответить: Fayl
Сообщение #5


Бывалый
****

Группа: User
Сообщений: 296
Регистрация: 14.9.2008
Поблагодарили: 129 раз
Репутация:   21  


Эмм...Как я понял, в параметры поля id нужно вписать параметр auto_increment, но при запросе:
SQL-запрос:
ALTER TABLE `razdel` CHANGE `id` `id` VARCHAR( 100 ) AUTO_INCREMENT
Ответ MySQL:  
#1063 - Incorrect column specifier for column 'id'
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fayl
Fayl
Topic Starter сообщение 4.3.2009, 17:35; Ответить: Fayl
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 296
Регистрация: 14.9.2008
Поблагодарили: 129 раз
Репутация:   21  


Ага, всё понял, всё получилось.
Спасибо DarkByte, дело было именно в auto_increment.
Запрос не выполнялся только из за того, что праймари значение было присвоенно другому полю!
От души благодарю тех, кто проявил внимание и помог)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Очень нужна работа
Желательно на постоянной основе
11 Yuliya_Klim 1672 11.12.2017, 19:26
автор: beliaev
Открытая тема (нет новых ответов) Нужна помощь в активации аккаунта AdSense
8 dimaguru 2287 11.12.2017, 17:43
автор: RICHHost
Открытая тема (нет новых ответов) Нужна помощь с задачами по SEO
Звучит так себе конечно, однако очень нужна ваша помощь!!!
10 another_way 1472 25.11.2017, 13:35
автор: Bel_Ami
Открытая тема (нет новых ответов) envato market помощь в покупке
1 wagan 597 12.11.2017, 22:23
автор: EvilGomel
Открытая тема (нет новых ответов) Стабильный хостинг за 30р в месяц. GNU/Linux, PHP, MySQL, Perl, бэкапы. Помогу перенести сайт.
5 freeax 1538 10.11.2017, 13:15
автор: freeax


 



RSS Текстовая версия Сейчас: 13.12.2017, 7:40
Дизайн