У меня есть инструкция по обновлению, которая по какой-то причине, похоже, не сработает.Проблема с MySQL UPDATE
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'
Является ли это ошибка синтаксиса? Что происходит?
Спасибо всем.
Вы уверены, что в строке есть идентификатор 21 и учитель 538? –
echo 'mysql_error()' после 'mysql_query()'. Если это синтаксическая ошибка, она станет простой. –
Кроме того, являются ли ваши три столбца даты MySQL типами DATETIME, или они являются INT, которые принимают временные метки UNIX из PHP? –