MySQL ОБНОВЛЕНИЕ проблема - PullRequest
       10

MySQL ОБНОВЛЕНИЕ проблема

0 голосов
/ 31 августа 2011

У меня есть оператор обновления, который по какой-то причине не сработает.

else if (isset($_POST['save'])) {
  $query = "UPDATE assignments 
               SET expdate = '$expdate', 
                   dispdate = '$dispdate', 
                   duedate = '$duedate', 
                   name = '$name', 
                   cat1 = '$cat1', 
                   cat2 = '$cat2', 
                   cat3 = '$cat3', 
                   schoolid = '$schoolid', 
                   classid = '$classid', 
                   public = '$public', 
                   tags = '$tags', 
                   description = '$description', 
                   symbol = '$symbol' 
             WHERE id = '$assignmentid' 
               AND teacherid = '$uid'";
  echo $query;
  mysql_query($query);
}

Я много пробовал, но, похоже, не могу его обновить для обновления строки.Я знаю, что функция выполняется, потому что echo $query; выводит запрос.

Конкретная строка после анализа переменных:

UPDATE assignments 
   SET expdate = '1325401200', 
       dispdate = '1293865200', 
       duedate = '1325401200', 
       name = 'Test 7', 
       cat1 = '138', 
       cat2 = '0', 
       cat3 = '0', 
       schoolid = '1', 
       classid = '33', 
       public = '1', 
       tags = 'New Vista High School,,80302,Patrick,Turmala,Test 7,,,138,No sub-categories,No sub-categories,test7,2012,testNew Vista High School,,80302,Patrick,Turmala,Test 7,,,138,0,0,teste,2012,testes', 
       description = 'Test 7', 
       symbol='teste' 
 WHERE id = '21' 
   AND teacherid = '538'

Это синтаксическая ошибка?Что происходит?

Спасибо всем.

Ответы [ 3 ]

0 голосов
/ 31 августа 2011

В основном потому, что в вашем запросе есть Mysql Reserved Words, например public . Вы должны использовать `, чтобы указать это.

Редактировать:public - не зарезервированное слово mysql, попробуйте mysql_error(), чтобы увидеть сообщение об ошибке.

0 голосов
/ 24 сентября 2012

Можете ли вы сообщить мне ошибку / исключение, что вы получаете.

Я подумал, что есть проблема с длиной столбца. Длина тегов столбцов слишком мала, чтобы содержать заданное значение.

0 голосов
/ 31 августа 2011

попробуйте использовать

UPDATE assignments set `fieldname`= values where ...

и echo mysql_error, чтобы увидеть исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...