SQL 中的错误odbc_exec“更新中的语法错误”


Error in SQL odbc_exec "Syntax error in UPDATE"

>我在尝试运行我的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 开始,这些问题很容易发现。