Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Не проходит обновление базы данных

#1 lesli007

lesli007
  • Пользователь
  • 108 сообщений
  • Репутация: -4
0

Отправлено 06 Апрель 2011 - 18:14

Здравствуйте!
Не проходит обновление базы данных.
Ошибка

You have an error in your SQL syntax near 's standard dummy text ever since the 1500s, when an unknown printer took a galle' at line 1

 

 

  • 0

#2 lesli007

lesli007
    Topic Starter
  • Пользователь
  • 108 сообщений
  • Репутация: -4

Отправлено 06 Апрель 2011 - 18:33

Разобрался сам. Там в тексте встречается ковычка. Как обойти в будущем такую проблему?
Типа такого

as been the industry's standard
  • 0

#3 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 06 Апрель 2011 - 20:32

lesli007, экранировать нужно - используйте функции mysql_escape_string() или mysql_real_escape_string(), только нужно проверить включен ли magic_quotes (магические кавычки).
Почитайте - http://i-novice.net/...-ekranirovanie/
  • 0

#4 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 06 Апрель 2011 - 21:28

Раз в БД не добавлялось - значит волшебные кавычки выключены. Ну а без обработки данных можно дождаться момента, что вообще нечего будет обновлять :angry:
Кстати, узнаю стиль уроков Попова:
if (isset($_POST['title']))	  {$title = $_POST['title']; if ($title == '') {unset($title);}}

Зачем создавать переменную, чтобы затем сразу же ее уничтожать??? Логика поразительна :D Так будет лучше:
if(!empty($_POST['title'])) $title = $_POST['title'];

Эта связка тоже умиляет:
if (isset($title) && isset($editor1) && isset($id))

Функцией isset() можно проверить сразу несколько переменных и только если все они определены - переменная вернет TRUE, если же какая-то из переменных не определена - будет возвращена ложь. Так будет короче:
if(isset($title, $editor1, $id))

Ну а остальное по мелочи...
P.S. Прошу не воспринимать как критику, а исключительно как советы по улучшению кода :D
  • 0


#5 admin

admin
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 06 Апрель 2011 - 23:40

Так будет короче:

if(isset($title, $editor1, $id))

Про это не знал и сам делаю с &&. Спасибо за подсказку, будем улучшать свой код!
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 07 Апрель 2011 - 09:51

Пожалуйста :D
  • 0


#7 lesli007

lesli007
    Topic Starter
  • Пользователь
  • 108 сообщений
  • Репутация: -4

Отправлено 10 Апрель 2011 - 23:46

Тема закрыта. Открываю новую про обязательные элементы обработки данных для безопасности. Всем спасибо
  • 0


Оформление форума – IPBSkins.ru