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

Форум MySQL

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

 

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

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

тема: не вписывается единица в поле INT
 
 автор: DJ Paltus   (09.02.2010 в 11:30)   письмо автору
 
 

Есть таблица:
id      int(11) 
date     datetime 
text     text
type     int(1)
pub     int(1)     

И если я пишу в поля `type` или `pub` цифру 2 или скажем 3, то они записываются. А если вдруг единицу пишу, то в них пишется 0.
Запрос выглядит так:
update `ru_news` set `date` = '2010-02-08 11:24:03', `text` = '11111111', `type` = '1', `pub` = '1' where `id` = 21

Подскажите, где я не прав?

upd
Запостил сообщение - и всплыли какие-то непечатные символы возле единицы. убрал их - заработало. Это из-за юникода оказалось, единичка-то из файла берется.

upd
Решение: если $t - первая строка, считанная из файла в кодировке UTF-8, то чистить можно так:
$t=trim($t,"\xEF \xBB \xBF");

  Ответить  
 
 автор: Trianon   (09.02.2010 в 15:57)   письмо автору
 
   для: DJ Paltus   (09.02.2010 в 11:30)
 

Потому как сомнительный запрос стоит печатать.
И проверять в phpMyAdmin.
Иногда даже в шестнадцатеричном виде.

Что справились сами - хорошо.
хотя trim - страшен.

  Ответить  
 
 автор: mihdan   (09.02.2010 в 16:33)   письмо автору
 
   для: Trianon   (09.02.2010 в 15:57)
 

Чем он страшен?

  Ответить  
 
 автор: Trianon   (09.02.2010 в 16:51)   письмо автору
 
   для: mihdan   (09.02.2010 в 16:33)
 

тем , что режет байты независимо. А не BOM в целом.

  Ответить  
 
 автор: DJ Paltus   (10.02.2010 в 12:36)   письмо автору
 
   для: Trianon   (09.02.2010 в 15:57)
 

А я все это делал. И выводил, и в майадмине проверял, но эти символы вывелись лишь тут, в форуме в виде ascii-кодов. И только тогда я догадался тектсовик в 16ричном глянуть.
Насчет ужасного trim, не думаю, что это существенно - его использование сугубо казуально. Есть еще вариант юникодные текстовики создавать без этих управляющих символов, некоторые редакторы (акелпад, например) позволяют это делать. Либо лепить текстовики в нормальной кодировке, а при выводе конвертировать строки.

  Ответить  
 
 автор: Trianon   (10.02.2010 в 21:57)   письмо автору
 
   для: DJ Paltus   (10.02.2010 в 12:36)
 

>Насчет ужасного trim, не думаю,

Вот знаете, нисколько не сомневался в ответе.

  Ответить  
 
 автор: DJ Paltus   (11.02.2010 в 14:08)   письмо автору
 
   для: Trianon   (10.02.2010 в 21:57)
 

Ну а что Вы бы предложили? Резать просто по str_replace?

  Ответить  
 
 автор: Тень&   (10.02.2010 в 22:02)   письмо автору
 
   для: DJ Paltus   (10.02.2010 в 12:36)
 

> Насчет ужасного trim, не думаю, что это существенно
Скажи честно: ты не знаешь функции substr()?

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

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