>我在尝试运行我的SQL代码时遇到"odbc_exec():更新中的语法错误"错误。也许我缺少语法错误,但我已经一遍又一遍地检查了它,找不到任何问题。
if(!empty($_POST['materialsreason'.$i]))
{
$sqlnumerodos="UPDATE HotPartLog
SET MaterialsReason='".$_POST['materialsreason'.$i]."'
WHERE Date= '".$_SESSION['datearr'][$i]."'";
$resultdos=odbc_exec( $cnx, $sqlnumerodos);
}
这个块在我的项目中,工作正常,但上面的块不会。
if($_POST['selectcell'.$i]=='Closed')
{
$dbname='C:'Users'irgcbk'Documents'hotpartdb.mdb';
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbname; Uid=''; Pwd='';");
$cnx=odbc_connect('ReceivingODBC', 'root', '');
$sql="UPDATE HotPartLog
SET CompletionStatus='Closed'
WHERE Date= '".$_SESSION['datearr'][$i]."'";
$result=odbc_exec( $cnx, $sql);
}
想
通了。我不得不将"日期"放在方括号中,因为它是 Access 中的保留字
我认为您的变量和 WHERE 之间没有空格。始终从回显您生成的实际 sql 开始,这些问题很容易发现。