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