Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создания новых колонок, непроисходит запись в базу непроисходит  
:(
    Опции темы
supervladislav
Дата 12.7.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



пытаюсь в phpadmin создать базу но выводиться ошибка.
 #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

структура базы вот такая
     Поле    Тип    Сравнение    Атрибуты    Ноль    По умолчанию    Дополнительно    Действие
     id    mediumint(10)        UNSIGNED    Да    NULL                             
     name    varchar(20)    cp1251_general_ci        Да                                 
     mail    varchar(40)    cp1251_general_ci        Да                                 
     text    varchar(1000)    cp1251_general_ci        Да
чтоб это значило 
    

PM MAIL   Вверх
skyboy
Дата 12.7.2008, 21:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(supervladislav @  12.7.2008,  20:01 Найти цитируемый пост)
чтоб это значило 

кто из них - "автоинкремент" должен быть отмечен, как главный(первичный) ключ. отмечено? нет. а почему?
PM MAIL   Вверх
supervladislav
Дата 12.7.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



сделал 
Код

CREATE TABLE `ge` (
`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 15 ) NOT NULL ,
`mail` VARCHAR( 40 ) NOT NULL ,
`text` VARCHAR( 1000 ) NOT NULL ,
UNIQUE (
`id` 
)
);

вроде, но запись в бд непроизводиться подключение к базе есть, выводится 1046  и всё .
прав каких то нехватает может?
PM MAIL   Вверх
skyboy
Дата 12.7.2008, 21:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(supervladislav @  12.7.2008,  20:26 Найти цитируемый пост)
UNIQUE 

это уникальный ключ. я тебе говорю про главный, он же - первичный
PM MAIL   Вверх
MuToGeN
Дата 12.7.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

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



AUTO_INCREMENT возможен только для PRIMARY_KEY, тут видимо какой-то косяк со средствами, используемыми для снятия дампа.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
supervladislav
Дата 12.7.2008, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



минутку уникальное поле должнобыть иметь должно иметь атрибут уникального UNIQUE ,
а остальные поля должныбыть первичными ,я не понимаю.

Добавлено через 11 минут и 58 секунд
Ты про это говорил
Код

CREATE TABLE `ge` (
`id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 15 ) NOT NULL ,
`mail` VARCHAR( 40 ) NOT NULL ,
`text` VARCHAR( 1000 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);

PM MAIL   Вверх
supervladislav
Дата 12.7.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



блин я запутался так 
Код

 PRIMARY KEY ( `id` )

или

Код

UNIQUE (
`id` 
)

PM MAIL   Вверх
MuToGeN
Дата 13.7.2008, 08:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

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



Первичный ключ уже является уникальным.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
supervladislav
Дата 13.7.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



а в чём раздница))) primary key и UNIQUE ()это только для автоинкримента надо ???

Это сообщение отредактировал(а) supervladislav - 13.7.2008, 19:10
PM MAIL   Вверх
supervladislav
Дата 13.7.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



Зы я использую вот такой код php
подключение идёт но в базу ничего нещаписывается 
Код

<?php
if($name && $mail && $text){

$n= htmlspecialchars($name);
$n2= htmlspecialchars($mail);
$n3= htmlspecialchars($text);

$con=mysql_connect("localhost","root","");
if(!con){echo "ошибка подключения к серверу";}
mysql_select_db("geste",$con);
$f=mysql_query("INSERT into ge(id,name,mail,text) VALUES('','$n','$n2','$n3');",$con);
echo mysql_errno($con);
if($f){echo "wewewewewe";}
mysql_close($con);

}
else{$msg="Введите текст отзыва , проверте поля длины не должно превышать 1000 символов";}
?>

PM MAIL   Вверх
Feldmarschall
Дата 13.7.2008, 23:40 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Цитата(supervladislav @  13.7.2008,  19:08 Найти цитируемый пост)
а в чём разница? primary key и UNIQUE ()это только для автоинкримента надо?

Нет, не только.
В чем разница, можно прочесть в документации.

Цитата(supervladislav @  13.7.2008,  20:00 Найти цитируемый пост)
в базу ничего не записывается 

Так может сказать юзер, а не программист.
программист соберет в кулак волю, и опишет конкретно - что происходит. что видно на экране, выдает ли скрипт ошибку, если выдает - то какую.
причем ведь была тема, где тоже в базу ничего не записывалось. и подробно, на пальцах объяснили - КАКУЮ ИНФОРМАЦИЮ надо предоставлять на форум, есл не работает запрос.
но все достижения науки снова пошли прахом. из информации о проблеме только "ой, ничего не записывается!"

Цитата(supervladislav @  13.7.2008,  20:00 Найти цитируемый пост)
$n3= htmlspecialchars($text);

Удивительно. Человек минимум три месяца, как работает с БД, но так и не не узнал до сих пор, как надо составлять запросы.



Это сообщение отредактировал(а) Feldmarschall - 13.7.2008, 23:48
PM   Вверх
supervladislav
Дата 14.7.2008, 12:52 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



Я вам говорил Feldmarschall протри глаза  выше посмотри сначала была ошибка 1046 ,а так никаких данных в базу непоступает ,соединение с базой идёт нормально .Структуру базы я приводил.
PM MAIL   Вверх
MuToGeN
Дата 14.7.2008, 13:02 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

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



supervladislav, хоть у Feldmarschall и своеобразный и не всем приятный стиль общения, он не говорит фигни.  


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
supervladislav
Дата 14.7.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



я не говорю фигни я пытаюсь разобраться в своём вопросе 

Что значит вот это:
Код

$n3= htmlspecialchars($text);

есть более удобная функция?]
Или я её неправильно использую

Это сообщение отредактировал(а) supervladislav - 14.7.2008, 14:52
PM MAIL   Вверх
Feldmarschall
Дата 14.7.2008, 16:09 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



мда...
ну ладно - "протри глаза". Я могу потерпеть.
Но апеллировать к своему предыдущему вопросу - это я уже не знаю. Это уже за гранью добра и зла. 
"В прошлый раз у меня была проблема с ошибкой #1075, и поэтому сейчас я никакие номера ошибок писать не буду!!!". 


PM   Вверх
supervladislav
Дата 14.7.2008, 21:13 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



так ну вроде я разобрался всем спасибо кроме Feldmarschall
Код

<?php
if(isset($_POST[name]) && isset($_POST[mail]) && isset($_POST[text]) && $_SERVER['REQUEST_METHOD']=='POST'){

$n= htmlspecialchars($_POST[name], ENT_QUOTES);
$n2= htmlspecialchars($_POST[mail], ENT_QUOTES);
$n3= htmlspecialchars($_POST[text], ENT_QUOTES);

$con=mysql_connect("localhost","root","");
if(!con){echo "ошибка подключения к серверу";}
mysql_select_db("geste",$con);
$f=mysql_query("INSERT into ge(id,name,mail,text) VALUES('','$n','$n2','$n3')",$con);
echo mysql_errno($con);
mysql_close($con);

}
else{$msg="Введите текст отзыва , проверте поля длины не должно превышать 1000 символов";}
?>


вот только скажите наверника есть функция для приобразования 

Это сообщение отредактировал(а) supervladislav - 14.7.2008, 21:13
PM MAIL   Вверх
MuToGeN
Дата 15.7.2008, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

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



supervladislav, если речь о
Цитата(supervladislav @  14.7.2008,  21:13 Найти цитируемый пост)
$n= htmlspecialchars($_POST[name], ENT_QUOTES);
$n2= htmlspecialchars($_POST[mail], ENT_QUOTES);
$n3= htmlspecialchars($_POST[text], ENT_QUOTES);

то лучше пользовать в данном случае mysql_escape_string(), оно как-бы умнее, учитывает особенности кодировки итп. И, кстати, такое слово как "приобразование" в русском языке отсутствует.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
dstorm81
Дата 15.7.2008, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

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



2 MuToGeN
а разве не mysql_real_escape_string умнее работает с кодировками?


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
MuToGeN
Дата 15.7.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

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



dstorm81, да, имел в виду mysql_real_escape_string(). Писал в полусонном состоянии, благодарю за поправку.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
supervladislav
Дата 15.7.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

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



спасибо 
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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