$result=mysql_query("INSERT INTO `day_prog` SET `program`='".$in."'",$db);
Наверное много напарсил, что объем данных не влизает.
Более понятно, если у тебя в таблице тип данных int(5) -5 символов. Ты никогда не воткнешь туда 6 символов и более.
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
DeepVarvar пишет:
А без str_replace(); что говорит???
в переменной возвращает true, в result false и в базу ничего не пишет (Добавление)
chaynyk пишет:
viperdev пишет:
Более понятно, если у тебя в таблице тип данных int(5) -5 символов. Ты никогда не воткнешь туда 6 символов и более.
Вот только тип данных text
Наверное много напарсил, что объем данных не влизает.
Разве 60 килобайт это много?
Поставь LONGTEXT[/quote]
Тоже не помагает
DeepVarvar
Отправлено: 20 Апреля, 2010 - 00:26:48
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Значит варианта три:
1. Не хватает места в поле для большего кол-ва символов (сменить тип или увеличить "вместимость" поля)
2. Обработка в str_replace(); для базы является невалидной (попробуйте вместо char(); заюзать "живые" символы)
3. Причиной может быть несоответствие кодировок, на что я давал ссылку выше...
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
DeepVarvar пишет:
Значит варианта три:
1. Не хватает места в поле для большего кол-ва символов (сменить тип или увеличить "вместимость" поля)
2. Обработка в str_replace(); для базы является невалидной (попробуйте вместо char(); заюзать "живые" символы)
3. Причиной может быть несоответствие кодировок, на что я давал ссылку выше...
1 - не может быть тип поля был text стал longtext
3. - это я тоже проверил.
2. -
Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007 Откуда: MOSCOW
Помог: 0 раз(а)
DeepVarvar пишет:
3. Причиной может быть несоответствие кодировок, на что я давал ссылку выше...
Тоже кстати вариант, с такой причиной сталкивался.
Да вообще, есть еше такая фишка присутствие спец символов ", ' и т.д.
Попробуй сохранить все в файл, и посмотри что там ты пытаешься воткнуть.
Пример
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
chaynyk пишет:
DeepVarvar пишет:
3. Причиной может быть несоответствие кодировок, на что я давал ссылку выше...
Тоже кстати вариант, с такой причиной сталкивался.
Да вообще, есть еше такая фишка присутствие спец символов ", ' и т.д.
Попробуй сохранить все в файл, и посмотри что там ты пытаешься воткнуть.
Пример
(Добавление) chaynyk
Тип поля ничего не даст, TEXT - самый универсальный вариант и больше не нужно, тут проблема именно в экранировании (99%) , я обычно если что-то невнимательно делаю и не экранирую символы сам запрос загоняю в переменную и если неудачная запись, я его вывожу и там разбираю в чем проблема. У автора наверняка есть одинарные ковычки - поэтому их нужно экранировать - в том числе этот способ - мера предосторожности в запросах к БД в SQL-инъекциях.
Пример:
А вот пример, как раньше можно было взламывать много сайтов:
При авторизации в логин пишем "admin' or '1'='1'" , в поле пароль что угодно вносишь , а вот проверка логина и пароля в движке вот такая:
Вот и делайте выводы, какие могут быть непредсказуемости...
JustUserR
Отправлено: 20 Апреля, 2010 - 14:02:00
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
ALEN пишет:
`user`='".$_POST['login']."' and `password`='".$_POST['passwd']."'";
Сразу скажу что такой PHP-код лучше не использовать в реальный PHP-скриптах - лучше проэкранировать вставляемые значения с помощью mysql_real_escape_string потому что она экранируется в зависимости от кодировки соединения с БД - что немаловажно в том случае если локаль PHP-скрипта и кодировка соединия с БД существенно отличаются
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
viperdev
Отправлено: 20 Апреля, 2010 - 15:52:23
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Спасибо большое за помощь всем, помогло mysql_real_escape_string, только появилась другая проблема в базу пишется только половина информации, а объем ее всего 60 килобайт, как с этим быть?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.