Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Автоинкремент
 
 автор: dima2207   (27.12.2007 в 15:55)   письмо автору
 
 

Всем привет !
проблема такого рода :
есть база :

CREATE TABLE `items` (
  `id` int(11) NOT NULL auto_increment,
  `description` char(255) NOT NULL default '',
  `content` char(255) NOT NULL default '',
  `price` float(9,2) NOT NULL default '0.00',
  `unit` enum('WMZ','WMR','WME') NOT NULL default 'WMZ',
  `state` enum('Y','N') NOT NULL default 'Y',
  `reserved` datetime default NULL,
  `user_link` char(255) NOT NULL default '', 
  `user_opis` TEXT NOT NULL default '',
  `kategoria` char(255) NOT NULL default '',
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;


Так вот когда я пытаюсь вставить в таблицу строку :


$query = "INSERT INTO items VALUES('','".mysql_escape_string($_POST['opis1'])."','','0.02','WMZ','Y',NULL,'','".$txt_opis."','')";
 if(!mysql_query($query)) exit(mysql_error());


то выдает ошибку :
Incorrect integer value: '' for column 'id' at row 1

подскажите как реализовать автоинкремент ?

   
 
 автор: ronin   (27.12.2007 в 16:48)   письмо автору
 
   для: dima2207   (27.12.2007 в 15:55)
 



$query = "INSERT INTO items VALUES('".mysql_escape_string($_POST['opis1'])."','','0.02','WMZ','Y',NULL,'','".$txt_opis."','')"; 
 if(!mysql_query($query)) exit(mysql_error()); 

делаем вид, что поля id - нет:)
при вводе это поле не "упоминается"

   
 
 автор: dima2207   (27.12.2007 в 17:11)   письмо автору
 
   для: ronin   (27.12.2007 в 16:48)
 

Нет ! неполучается !



Column count doesn't match value count at row 1

   
 
 автор: ronin   (27.12.2007 в 17:32)   письмо автору
 
   для: dima2207   (27.12.2007 в 17:11)
 

нужно упомянуть поля в которые вводится инфа;

INSERT INTO items (description,price,и т.п.упоминаются только те поля, в которые вводится инфа)VALUES('".mysql_escape_string($_POST['opis1']).", и т.п. только те значения, которые соответствуют полям)";  
 if(!mysql_query($query)) exit(mysql_error());  

   
 
 автор: dima2207   (27.12.2007 в 18:17)   письмо автору
 
   для: ronin   (27.12.2007 в 16:48)
 

>

>
>$query = "INSERT INTO items VALUES('".mysql_escape_string($_POST['opis1'])."','','0.02','WMZ','Y',NULL,'','".$txt_opis."','')"; 
> if(!mysql_query($query)) exit(mysql_error()); 
>

>делаем вид, что поля id - нет:)
>при вводе это поле не "упоминается"


А так вообще мне кажется небудет работать , потомучто мускул не будет знать в какую позицию что вставлять , покрайней мере в моей 5-ой версии неработает !

   
 
 автор: Thrasher   (27.12.2007 в 17:20)   письмо автору
 
   для: dima2207   (27.12.2007 в 15:55)
 

Попробовал твой код из первого поста. Всё работает.

   
 
 автор: dima2207   (27.12.2007 в 17:32)   письмо автору
 
   для: Thrasher   (27.12.2007 в 17:20)
 

А почему-ж у меня неработает ?

   
 
 автор: Thrasher   (27.12.2007 в 17:36)   письмо автору
 
   для: dima2207   (27.12.2007 в 17:32)
 

Удали таблицу и создай снова.
Мож она как-то криво создалась.
И еще, там последняя текстовая переменная не обрабатывается mysql_escape_string(). Надо бы обработать.

   
 
 автор: dima2207   (27.12.2007 в 18:08)   письмо автору
 
   для: Thrasher   (27.12.2007 в 17:36)
 

Нет ! Все безполезно !

   
 
 автор: ronin   (27.12.2007 в 18:24)   письмо автору
 
   для: dima2207   (27.12.2007 в 18:08)
 

попробуйте как в посте 17:32

   
 
 автор: dima2207   (27.12.2007 в 18:29)   письмо автору
 
   для: ronin   (27.12.2007 в 18:24)
 

Несовсем понятно , приведите пожалуйста пример кода !

   
 
 автор: ronin   (27.12.2007 в 18:35)   письмо автору
 
   для: dima2207   (27.12.2007 в 18:29)
 

для опыта только одно поле:

$query ="INSERT INTO items (description)VALUES('".mysql_escape_string($_POST['opis1'])."')";   
 if(!mysql_query($query)) exit(mysql_error());   

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования