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

Форум MySQL

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

 

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

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

тема: Ошибка: "Затронута 1 строка. Warning: #1366 Incorrect string value: '\xE2\x88\x92\xD0\xBE\xD0...' for column 'text' at row 1".
 
 автор: aldrve   (27.12.2012 в 15:55)   письмо автору
 
 

Здравствуйте.
В админке с помощью "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&#8722;ой <span class=SpellE>энергозоне</span> на 4,2%, во 2&#8722;ой – на
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".

Может это - ключ проблемы, но знаний не хватает - не понимаю, что это за ошибка.

Заранее благодарен за помощь. Александр

  Ответить  
 
 автор: cheops   (27.12.2012 в 20:54)   письмо автору
 
   для: aldrve   (27.12.2012 в 15:55)
 

А вы в $title экранируете одиночные кавычки? Если нет, то они нарушают синтаксис SQL-запроса, более того - это дыра безопасности (очень серьезная, через неё можно вытащить все содержимое базы данных, включая пароли).

  Ответить  
 
 автор: aldrve   (29.12.2012 в 10:59)   письмо автору
 
   для: 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&#8722;ой <span class=SpellE>энергозоне</span> на 4,2%, во 2&#8722;ой – на
1,8%<o:p></o:p></span></b></p>

С уважением, Александр

  Ответить  
 
 автор: cheops   (29.12.2012 в 19:41)   письмо автору
 
   для: aldrve   (29.12.2012 в 10:59)
 

Можно поступить следующим образом
<?php
$id 
intval($id);
$title mysql_real_escape_string($title);
$text mysql_real_escape_string($text);
?>

  Ответить  
 
 автор: aldrve   (30.12.2012 в 10:51)   письмо автору
 
   для: cheops   (29.12.2012 в 19:41)
 

Большое спасибо, все заработало.

Я затеял довольно большой личный проект, а знаний mysql явно недостаточно.

Если Вас не затруднит, подскажите пожалуйста какой на сегодняшний день наиболее быстрый в освоении и в то же время серьезный по материалу курс mysql?

С наступающим Новым годом, успехов, здоровья, счастья Вам и дорогим Вам людям.

С уважением, Александр

  Ответить  
 
 автор: cheops   (30.12.2012 в 13:03)   письмо автору
 
   для: aldrve   (30.12.2012 в 10:51)
 

Вы можете ориентироваться на нашу книгу MySQL 5. В подлиннике.

  Ответить  
 
 автор: aldrve   (30.12.2012 в 20:12)   письмо автору
 
   для: cheops   (30.12.2012 в 13:03)
 

Спасибо, уже купил. Еще раз с Новым годом.

  Ответить  
 
 автор: aldrve   (02.01.2013 в 23:01)   письмо автору
 
   для: aldrve   (30.12.2012 в 20:12)
 

-

  Ответить  
 
 автор: aldrve   (02.01.2013 в 23:10)   письмо автору
 
   для: cheops   (30.12.2012 в 13:03)
 

Скачал электронную версию учебника, а где там прилагаемый компакт-диск, на который есть ссылки по тексту, не могу понять. Не подскажете?

  Ответить  
 
 автор: Sfinks   (03.01.2013 в 02:25)   письмо автору
 
   для: aldrve   (02.01.2013 в 23:10)
 

А что значит "Скачал электронную версию учебника"?
Купил электронную книгу или нашел и скачал скан книги?

  Ответить  
 
 автор: aldrve   (03.01.2013 в 10:15)   письмо автору
 
   для: Sfinks   (03.01.2013 в 02:25)
 

купил и скачал на озоне

  Ответить  
 
 автор: aldrve   (03.01.2013 в 10:16)   письмо автору
 
   для: Sfinks   (03.01.2013 в 02:25)
 

я же раньше написал, что купил - зачем спрашивать повторно?

  Ответить  
 
 автор: Sfinks   (03.01.2013 в 10:58)   письмо автору
 
   для: aldrve   (03.01.2013 в 10:16)
 

Раньше не увидел.
Просто стало интересно, неужели человек скачал нахаляву и еще диск требует =)
Прошу прощения =)

Я не проверял, но на странице книги указано, что:
> На протяжении всей книги используется учебная база данных электронного магазина, которую
> можно найти в каталоге base прилагаемого к книге компакт-диска, а так же загрузить по адресу
> http://www.softtime.ru/sql/base.zip.

  Ответить  
 
 автор: aldrve   (03.01.2013 в 11:45)   письмо автору
 
   для: Sfinks   (03.01.2013 в 10:58)
 

Ok.
Базу данных магазина я скачал сразу.
Вопрос встал с загрузкой дистрибутива. Видимо на сайте mysql.com за это время изменились подходы и теперь требуется загрузка и установка через installer. И вот здесь, пытаясь совместить настройки из учебника с ходом установки по-новому, я начал путаться.
Наверное и не нужно уже просить дистрибутивы к старым версиям mysql, но тогда не помешали бы подсказки - что выбрать из новых предложений и какие настройки задавать в новом варианте установки .

  Ответить  
 
 автор: Valick   (03.01.2013 в 13:49)   письмо автору
 
   для: aldrve   (03.01.2013 в 11:45)
 

не мучайтесь, установите Denwer

  Ответить  
 
 автор: Sfinks   (03.01.2013 в 14:04)   письмо автору
 
   для: Valick   (03.01.2013 в 13:49)
 

Я Вас умоляю =)))

  Ответить  
 
 автор: Valick   (03.01.2013 в 14:47)   письмо автору
 
   для: Sfinks   (03.01.2013 в 14:04)
 

даже не буду начинать)

  Ответить  
 
 автор: aldrve   (03.01.2013 в 14:17)   письмо автору
 
   для: Valick   (03.01.2013 в 13:49)
 

С Denwer я работаю, но хочется лучше изучить mysql

  Ответить  
 
 автор: Valick   (03.01.2013 в 14:47)   письмо автору
 
   для: aldrve   (03.01.2013 в 14:17)
 

лучше чем что? тогда уж давайте забивайте на винду, поднимайте какую-нить фряху и вперед и с песней, а то может и операционную систему напишите с нуля? :)
в денвере версия мускула 5.5 изучай сколько влезет

  Ответить  
 
 автор: Sfinks   (03.01.2013 в 14:04)   письмо автору
 
   для: aldrve   (03.01.2013 в 11:45)
 

Да, старые дистрибутивы лучше не искать.
Вы просто спрашивайте что не понятно в новых, постараемся помочь настроить.

P.S. Желательно в новой теме.

  Ответить  
 
 автор: aldrve   (03.01.2013 в 14:16)   письмо автору
 
   для: Sfinks   (03.01.2013 в 14:04)
 

Спасибо

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

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