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

Форум MySQL

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

 

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

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

тема: Data too long for column что делать? помогите!!!
 
 автор: AN   (08.10.2008 в 00:30)   письмо автору
 
 

Помогите разобраться, вот мой запрос к базе:

$res_brand=mysql_query("SELECT PClass2,PClassName FROM class_produce WHERE PClass2 IN (SELECT DISTINCT ProduceC2 FROM produce WHERE Produce_Shop_ID='".$_SESSION["SesID"]."') ORDER BY PClassName") or die("SQL ERROR 2");
while($row_brand=mysql_fetch_assoc($res_brand)){
$sql="INSERT INTO menu_class_produce (McpCatalogID,McpClassID,McpClassName)
VALUES ('".$_SESSION["SesID"]."','".$row_brand["PClass2"]."','".$row_brand["PClassName"]."')";
mysql_query($sql) or die(mysql_error());


в общем смотрит в таблице товаров produce название категорий по айдишникам в таблице категорий class_produce и записывает в отдельную таблицу menu_class_produce

поля все TINYTEXT , и вот когда делаю запрос в то поле корое вставляю McpClassName вываливается ошибка Data too long for column 'McpClassName' at row 1

меняю поле с TINYTEXT на BLOB - все нормально работает, хотя там 4 записи по одному слову ...
что это может быть????

спасибо!

  Ответить  
 
 автор: BinLaden   (08.10.2008 в 00:41)   письмо автору
 
   для: AN   (08.10.2008 в 00:30)
 

В TINYTEXT, по-моему, 255 символов всего можно впихнуть. Используйте TEXT / MEDIUMTEXT / LONGTEXT

  Ответить  
 
 автор: AN   (08.10.2008 в 00:55)   письмо автору
 
   для: BinLaden   (08.10.2008 в 00:41)
 

ну да, там по одному слову везде записано, при чем помогает только BLOB

  Ответить  
 
 автор: BinLaden   (08.10.2008 в 01:00)   письмо автору
 
   для: AN   (08.10.2008 в 00:55)
 

BLOB помогает, а TEXT нет, да?

  Ответить  
 
 автор: AN   (08.10.2008 в 01:06)   письмо автору
 
   для: BinLaden   (08.10.2008 в 01:00)
 

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

  Ответить  
 
 автор: AN   (08.10.2008 в 01:09)   письмо автору
 
   для: AN   (08.10.2008 в 01:06)
 

то есть вышеописанный запрос криво вносит значение $row_brand["PClassName"]. в поле McpClassName

я вот думаю как в запросе

$sql="INSERT INTO menu_class_produce (McpCatalogID,McpClassID,McpClassName)
VALUES ('".$_SESSION["SesID"]."','".$row_brand["PClass2"]."','".$row_brand["PClassName"]."')";
mysql_query($sql) or die(mysql_error());

прикрутить mysql_query("SET NAMES cp1251"); ????

  Ответить  
 
 автор: sl1p   (08.10.2008 в 02:21)   письмо автору
 
   для: AN   (08.10.2008 в 01:09)
 

просто поставить перед запросом..

  Ответить  
Rambler's Top100
вверх

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