php代码中的错误mysql update命令

php代码中的错误mysql update命令,php,mysql,Php,Mysql,我的php文件执行许多数据库操作,包括下面的一个。但是,此操作会导致SQL错误: “SQLSTATE[42000]:语法错误或访问冲突:1064您有 SQL语法错误;请检查与您的SQL语法对应的手册 MySQL服务器版本,以便在10:07:28附近使用正确的语法,其中 id=11'在第1行“ php调试器显示$sqlquery值:“UPDATE AGREEMENTS SET approval=2013-11-22 10:07:28,其中id=11” php代码中的其他一些SQL UPDATE命令

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

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

php调试器显示$sqlquery值:
“UPDATE AGREEMENTS SET approval=2013-11-22 10:07:28,其中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);

在日期变量周围添加单个qoutes

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

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

在查询结束时不正确地使用双引号,并且没有使用单引号来比较日期,您的sql查询应该是

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

尝试将日期值括在引号中如果您使用了不平衡的引号,请检查它们….另外,为什么要将不需要的字符串连接起来….“AGREEMENTS.”SET`