|
|
|
| Не могу понять что нужно PHP. В переменной $text_top имеется текст (не важно с разметкой HTML или просто текст). Так вот этот объем текста в 12 кбайт не сохраняется в базу.
Делаю следующее:
$k300 = "UPDATE tstatiy SET paramalbom='$paramalbom', idalbom='$idalbom', namealbom='$namealbom', a_hiden='$a_hiden', bigsize='$bigsize', a_view='$a_view', idpage='$idpage', idblok='$idblok',
namepage='$namepage', nameblok='$nameblok', zagolovok='$zagolovok', hidenzagolov='$hidenzagolov',
align_zagol2='$align_zagol2', korotko='$korotko', text_top='$text_top', dateedit = '$date_edit' WHERE id = '$id'";
$result60 = mysql_query($k300)
|
Поле text_top имеет тип TEXT.
Может его предельный размер не дает сохранить данные?
Так я пробовал менять на тип LONGTEXT, все также не сохраняет.
Спасибо заранее. | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:08)
| | А если размер текста меньше? тогда норм сохраняет? И попробуйте использовать mysql+escape_string($text_proverki); на все переменные, может ему просто ен нравится какой символ или еще что...
И еще одно... все названия столбцов лучше брать в кавычки ``. то есть попробуйте:
<?
$k300 = "UPDATE `tstatiy` SET `paramalbom`='".$paramalbom."', `idalbom`='".$idalbom."', `namealbom`='".$namealbom."', `a_hiden`='".$a_hiden."', `bigsize`='".$bigsize."', `a_view`='".$a_view."', `idpage`='".$idpage."', `idblok`='".$idblok."',
`namepage`='".$namepage."', `nameblok`='".$nameblok."', `zagolovok`='".$zagolovok."', `hidenzagolov`='".$hidenzagolov."',
`align_zagol2`='".$align_zagol2."', `korotko`='".$korotko."', `text_top`='".$text_top."', `dateedit` = '".$date_edit."' WHERE `id` = '".$id."'";
$result60 = mysql_query($k300);
?>
|
Может и не поможет, но читаймость увеличит :) | |
|
|
|
|
|
|
|
для: DEM
(11.11.2008 в 13:15)
| | >И еще одно... все названия столбцов лучше брать в кавычки ``. то есть попробуйте:
Зачем? Я здесь в названиях полей ни одного зарезервированного слова MYSQL не вижу. | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 13:29)
| | На потмо :) Я помню раньше тоже ен видел, а вот когда потратил почти что день на то что бы найти ошидбку в коде и случаяно увидел (точнее просто вот так потсавил кавычки) и всё заработало, я после этого стал их пистьавезде где желательно :) | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:08)
| | а остальные поля записываются? MySQL не выдает ошибку? а если написать так:
$k300 = "UPDATE tstatiy SET
paramalbom='".$paramalbom."',
idalbom='".$idalbom."',
namealbom='".$namealbom."',
a_hiden='".$a_hiden."',
bigsize='".$bigsize."',
a_view='".$a_view."',
idpage='".$idpage."',
idblok='".$idblok."',
namepage='".$namepage."',
nameblok='".$nameblok."',
zagolovok='".$zagolovok."',
hidenzagolov='".$hidenzagolov."',
align_zagol2='".$align_zagol2."',
korotko='".$korotko."',
text_top='".$text_top."',
dateedit = '".$date_edit."'
WHERE id = ".$id;
$result60 = mysql_query($k300)
|
и зачем id в кавычках? запрос лучше выполнять так, чтоб видно было, если есть ошибки
mysql_query($k300) or die (mysql_error()); | |
|
|
|
|
|
|
|
для: elenaki
(11.11.2008 в 13:16)
| | Я проверил на ошибки. Различные тексты сохраняет хорошо и разной длины тоже. Но этот текст, на котором я споткнулся имеет внутри вот этот кусок текста содержащий верхнюю кавычку [Ай'м фром зе Раша - I am from the Russia] Я так полагаю, что необходимо применить кавычки с косой чертой (\") чтобы такого больше не повторилось? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:36)
| | Магические кавычки на сервере включены или выключены? | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 13:39)
| | Какие кавычки? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:42)
| | Проверьте все перееменные котрые исопльзуются в запросе так:
$text = mysql_escape_string($text); | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:42)
| | Понятно.
Перед заносом в базу сделайте обработку
if(!get_magic_quotes_gpc()){
$text_top = addslashes($text_top);
}
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 13:44)
| | поубивал бы. | |
|
|
|
|
|
|
|
для: Trianon
(11.11.2008 в 14:00)
| | Хм. За что? | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 14:01)
| | Где в Вашем фрагменте видно, что данные взяты непосредственно из $_POST и тому подобных источников?
Где в этой теме было хоть слово об этом же?
В результате, ответ Ваш ничего, кроме вреда, не принесет.
Кроме вреда, и возможно, кроме того, что этот 12килобайтовый кусок таки окажется в таблице.
Вы считаете это достаточной ценой?
Вот за это и. | |
|
|
|
|
|
|
|
для: Trianon
(11.11.2008 в 14:06)
| | Ну извините, конечно, я уж посмел предположить, что переменная $text_top уже взялась из
$_POST[text_top] или $_GET[text_top], где то куском выше. )) | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 14:11)
| | А это так важно откуда переменная взялась? Я проверил, из POSTа в переменную данные попали корректно, зачем ее тогда указывать? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 14:15)
| | Trianon имел ввиду состояние дерективы register_globals.
Если она включена, то опрометчивость принимать данные как $text_top не указывая каким методом она получена, может привести к существенным проблемам. | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 14:25)
| | Я имел в виду совсем не это.
Я имел в виду, что опрос get_magic_quotes_gpc() относится к процедуре изъятия данных из $_POST и т.п.
addslashes() относится к формированию текста sql-запроса (хотя и в этом случае mysql_escape_string предпочтительней, но неважно)
А Вы эти две абсолютно ортогональные, независимые по сути вещи упинали в единое целое.
Реакция автора вопроса замечательно подчеркивает результат. | |
|
|
|
|
|
|
|
для: Trianon
(11.11.2008 в 14:35)
| | Каюсь, правильно подметили )) | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(11.11.2008 в 13:08)
| | А помимо text_top, остальные данные из этого запроса сохраняются? | |
|
|
|
|
|
|
|
для: AcidTrash
(11.11.2008 в 13:35)
| | Как классно!! Все здорово работает!!
Вот эта штучка помогла!!
if(!get_magic_quotes_gpc()){
$text_top = addslashes($text_top);
}
|
Всем огромное спасибо за помощь!! | |
|
|
|