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



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

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

#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

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Не работает UPDATE данных в таблице БД
  2. Добавление и обновление в базе данных
  3. После обновления до 4.2.3 криво работает база данных
  4. Не редактируется/обновляется запись в wordpress
  5. База Данных. Как обновить. Как часто это можно делать.

#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 275 сообщений
  • Репутация: 55

Отправлено 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