MySQL更新问题
我有一个update语句,由于某些原因,它似乎不起作用MySQL更新问题,mysql,sql-update,Mysql,Sql Update,我有一个update语句,由于某些原因,它似乎不起作用 else if (isset($_POST['save'])) { $query = "UPDATE assignments SET expdate = '$expdate', dispdate = '$dispdate', duedate = '$duedate', name = '$
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'
这是语法错误吗?发生了什么事
感谢所有人。尝试使用
UPDATE assignments set `fieldname`= values where ...
和echo mysql_error查看异常。主要是因为在查询中有mysql保留字,比如public, 你应该用`来引述这句话
编辑:public不是mysql保留字,请尝试mysql\u error查看错误消息。您能告诉我您得到的错误/异常信息吗
我认为这列的长度有问题。列标记的长度太短,无法容纳给定的值。您确定行的id为21,teacherid为538吗?在mysql\u查询后返回mysql\u错误。如果是语法错误,它将变得简单。另外,您的三个日期列是MySQL DATETIME类型,还是INT接受来自PHP的UNIX时间戳?我假设assignments tablepublic中没有id='21'和teacherid='538'的记录不是保留关键字: