php代码中的mysql update命令错误

时间:2013-11-22 09:34:54

标签: php mysql

我的php文件执行了许多数据库操作,包括下面的操作。但是,此操作会导致SQL错误:

  

“SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本,在'10:07:28 WHERE附近使用正确的语法   id = 11'在第1行“

php调试器显示$ sqlquery值:"UPDATE AGREEMENTS SET approval=2013-11-22 10:07:28 WHERE id=11 "

php代码中的其他一些SQL UPDATE命令具有完全相同的语法并且正确执行(但不包括日期变量)。我怀疑问题与日期格式有关,但我不知道如何解决这个问题(?)

PHP代码:

$currentdate = date("Y-m-d H:i:s"); 

$sqlquery ="UPDATE AGREEMENTS "
                    . "SET approval=".$currentdate." "
                    . "WHERE id=".$agreementids[$i]." ";

$db->UpdateDBRecord($sqlquery);

3 个答案:

答案 0 :(得分:0)

在日期变量

周围添加单引号
$sqlquery ="UPDATE AGREEMENTS "
                . "SET approval='".$currentdate."' "
                . "WHERE id=".$agreementids[$i]." ";

答案 1 :(得分:0)

试试这个:

$sqlquery ='"UPDATE AGREEMENTS SET approval="'.$currentdate.'" WHERE id="'.$agreementids[$i].'""';

答案 2 :(得分:0)

在查询结束时不正确使用双引号而不使用单引号来比较日期,你的sql查询应该是

$sqlquery ="UPDATE AGREEMENTS SET approval='".$currentdate."' WHERE id='".$agreementids[$i]."'";