|
|
|
| Здравствуйте.
В админке с помощью "UPDATE news SET title='$title', ...', text = '$text' WHERE id='$id'" обновляются новости в поле text в БД mysql.
Недавно возникла проблема: обновления не происходит, если в текстовое поле введен код, полученный из MS Word - например такой:
<p class=MsoNormal style='margin-top:0cm;margin-right:7.1pt;margin-bottom:0cm;
margin-left:0cm;margin-bottom:.0001pt;text-align:justify;line-height:normal;
mso-outline-level:1'><b><span style='font-size:12.0pt;font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";color:black;mso-font-kerning:18.0pt;
mso-fareast-language:RU'>Цены на <span class=GramE>оптовом</span> <span
class=SpellE>энергорынке</span> РФ за неделю с 17 по 23 августа снизились в
1−ой <span class=SpellE>энергозоне</span> на 4,2%, во 2−ой – на
1,8%<o:p></o:p></span></b></p>
Когда в админке вводишь такого плана текст и нажимаешь Сохранить, идет загрузка (тексты большие, это видно), а потом - когда загружено 100% - пустая страница админки и загрузки в таблицу mysql не происходит.
При этом если очистить код от лишнего MSWord кода, админка по-прежнему работает идеально и все обновляется.
Прямая вставка вышеприведенного текста в таблицу mysql через phpmyadmin срабатывает нормально, корректировка страницы сайта происходит,
но при этом в phpmyadmin появляется: "Затронута 1 строка. Warning: #1366 Incorrect string value: '\xE2\x88\x92\xD0\xBE\xD0...' for column 'text' at row 1".
Может это - ключ проблемы, но знаний не хватает - не понимаю, что это за ошибка.
Заранее благодарен за помощь. Александр | |
|
|
|
|
|
|
|
для: aldrve
(27.12.2012 в 15:55)
| | А вы в $title экранируете одиночные кавычки? Если нет, то они нарушают синтаксис SQL-запроса, более того - это дыра безопасности (очень серьезная, через неё можно вытащить все содержимое базы данных, включая пароли). | |
|
|
|
|
|
|
|
для: cheops
(27.12.2012 в 20:54)
| | Спасибо.
Постепенно дошло, что целый пласт нужно поднимать и поправлять много чего из уже сделанного. Потребовался серьезный ликбез, чем сейчас и занимаюсь.
А пока прошу подсказки - как экранирование одиночных кавычек должно выглядеть в описанном случае?
для удобства процитирую его здесь:
Мой запрос к базе: "UPDATE news SET title='$title', ...', text = '$text' WHERE id='$id'",
Заносимая через форму админки информация в поле text:
<p class=MsoNormal style='margin-top:0cm;margin-right:7.1pt;margin-bottom:0cm;
margin-left:0cm;margin-bottom:.0001pt;text-align:justify;line-height:normal;
mso-outline-level:1'><b><span style='font-size:12.0pt;font-family:"Times New Roman","serif";
mso-fareast-font-family:"Times New Roman";color:black;mso-font-kerning:18.0pt;
mso-fareast-language:RU'>Цены на <span class=GramE>оптовом</span> <span
class=SpellE>энергорынке</span> РФ за неделю с 17 по 23 августа снизились в
1−ой <span class=SpellE>энергозоне</span> на 4,2%, во 2−ой – на
1,8%<o:p></o:p></span></b></p>
С уважением, Александр | |
|
|
|
|
|
|
|
для: aldrve
(29.12.2012 в 10:59)
| | Можно поступить следующим образом
<?php
$id = intval($id);
$title = mysql_real_escape_string($title);
$text = mysql_real_escape_string($text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.12.2012 в 19:41)
| | Большое спасибо, все заработало.
Я затеял довольно большой личный проект, а знаний mysql явно недостаточно.
Если Вас не затруднит, подскажите пожалуйста какой на сегодняшний день наиболее быстрый в освоении и в то же время серьезный по материалу курс mysql?
С наступающим Новым годом, успехов, здоровья, счастья Вам и дорогим Вам людям.
С уважением, Александр | |
|
|
|
|
|
|
|
для: aldrve
(30.12.2012 в 10:51)
| | Вы можете ориентироваться на нашу книгу MySQL 5. В подлиннике. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2012 в 13:03)
| | Спасибо, уже купил. Еще раз с Новым годом. | |
|
|
|
|
|
|
|
для: aldrve
(30.12.2012 в 20:12)
| | - | |
|
|
|
|
|
|
|
для: cheops
(30.12.2012 в 13:03)
| | Скачал электронную версию учебника, а где там прилагаемый компакт-диск, на который есть ссылки по тексту, не могу понять. Не подскажете? | |
|
|
|
|
|
|
|
для: aldrve
(02.01.2013 в 23:10)
| | А что значит "Скачал электронную версию учебника"?
Купил электронную книгу или нашел и скачал скан книги? | |
|
|
|
|
|
|
|
для: Sfinks
(03.01.2013 в 02:25)
| | купил и скачал на озоне | |
|
|
|
|
|
|
|
для: Sfinks
(03.01.2013 в 02:25)
| | я же раньше написал, что купил - зачем спрашивать повторно? | |
|
|
|
|
|
|
|
для: aldrve
(03.01.2013 в 10:16)
| | Раньше не увидел.
Просто стало интересно, неужели человек скачал нахаляву и еще диск требует =)
Прошу прощения =)
Я не проверял, но на странице книги указано, что:
> На протяжении всей книги используется учебная база данных электронного магазина, которую
> можно найти в каталоге base прилагаемого к книге компакт-диска, а так же загрузить по адресу
> http://www.softtime.ru/sql/base.zip. | |
|
|
|
|
|
|
|
для: Sfinks
(03.01.2013 в 10:58)
| | Ok.
Базу данных магазина я скачал сразу.
Вопрос встал с загрузкой дистрибутива. Видимо на сайте mysql.com за это время изменились подходы и теперь требуется загрузка и установка через installer. И вот здесь, пытаясь совместить настройки из учебника с ходом установки по-новому, я начал путаться.
Наверное и не нужно уже просить дистрибутивы к старым версиям mysql, но тогда не помешали бы подсказки - что выбрать из новых предложений и какие настройки задавать в новом варианте установки . | |
|
|
|
|
|
|
|
для: aldrve
(03.01.2013 в 11:45)
| | не мучайтесь, установите Denwer | |
|
|
|
|
|
|
|
для: Valick
(03.01.2013 в 13:49)
| | Я Вас умоляю =))) | |
|
|
|
|
|
|
|
для: Sfinks
(03.01.2013 в 14:04)
| | даже не буду начинать) | |
|
|
|
|
|
|
|
для: Valick
(03.01.2013 в 13:49)
| | С Denwer я работаю, но хочется лучше изучить mysql | |
|
|
|
|
|
|
|
для: aldrve
(03.01.2013 в 14:17)
| | лучше чем что? тогда уж давайте забивайте на винду, поднимайте какую-нить фряху и вперед и с песней, а то может и операционную систему напишите с нуля? :)
в денвере версия мускула 5.5 изучай сколько влезет | |
|
|
|
|
|
|
|
для: aldrve
(03.01.2013 в 11:45)
| | Да, старые дистрибутивы лучше не искать.
Вы просто спрашивайте что не понятно в новых, постараемся помочь настроить.
P.S. Желательно в новой теме. | |
|
|
|
|
|
|
|
для: Sfinks
(03.01.2013 в 14:04)
| | Спасибо | |
|
|
|