我的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);
答案 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]."'";