Php Laravel:错误代码:933错误消息:ORA-00933:SQL命令未正确结束位置

Php Laravel:错误代码:933错误消息:ORA-00933:SQL命令未正确结束位置,php,sql,oracle,laravel,laravel-4,Php,Sql,Oracle,Laravel,Laravel 4,我试图在Laravel4.2中使用Oracle作为后端执行更新命令,如下所示。 每当我尝试这样做时,我都会得到错误>ORA-00933:SQL命令未正确结束位置 DB::statement("UPDATE APY_SUBS_DTLS_MAST SET APY_SUBS_NAME=$APY_SUBS_NAME, APY_SUBS_FATHERS_NAME=$APY_SUBS_FATHERS_NAME, APY_SUBS_GENDER=$APY_SUBS_GENDER,

我试图在Laravel4.2中使用Oracle作为后端执行更新命令,如下所示。 每当我尝试这样做时,我都会得到错误>ORA-00933:SQL命令未正确结束位置

DB::statement("UPDATE APY_SUBS_DTLS_MAST SET 
    APY_SUBS_NAME=$APY_SUBS_NAME,
    APY_SUBS_FATHERS_NAME=$APY_SUBS_FATHERS_NAME,
      APY_SUBS_GENDER=$APY_SUBS_GENDER,
      APY_DATE_OF_BIRTH=to_date($APY_DATE_OF_BIRTH,'MM-DD-YYYY'),
      APY_SUBS_PAN=$APY_SUBS_PAN,
      APY_SUBS_ADD=$APY_SUBS_ADD,APY_SUBS_CITY=$APY_SUBS_CITY,
      APY_SUBS_STATE=$APY_SUBS_STATE,
      APY_SUBS_CTRY=$APY_SUBS_CTRY,
      APY_SUBS_PIN=$APY_SUBS_PIN,APY_SUBS_AREA=$APY_SUBS_AREA,
      APY_LANDMARK=$APY_LANDMARK,
      APY_SUBS_TEL=$APY_SUBS_TEL,APY_SUBS_MOB=$APY_SUBS_MOB,
      APY_SUBS_MAIL=$APY_SUBS_MAIL,APY_SUBS_SMS_FLG=$APY_SUBS_SMS_FLG,
      APY_SUBS_MARITAL_STAT=$APY_SUBS_MARITAL_STAT,
      APY_SUBS_SPOUSE_NAME=$APY_SUBS_SPOUSE_NAME,
      APY_SUBS_SPOUSE_ADHAR=$APY_SUBS_SPOUSE_ADHAR,
      APY_SUBS_ACT_TYPE=$APY_SUBS_ACT_TYPE,
      APY_SUBS_BANK_NAME=$APY_SUBS_BANK_NAME,
      APY_SUBS_BRANCH=$APY_SUBS_BRANCH,APY_SUBS_MICR=$APY_SUBS_MICR,
      APY_SUBS_IFSC=$APY_SUBS_IFSC,APY_SUBS_ADHAR=$APY_SUBS_ADHAR,
      APY_SUBS_NEW_EXIST=$APY_SUBS_NEW_EXIST,
      APY_SUBS_BENEF_OTHER=$APY_SUBS_BENEF_OTHER,
      APY_SUBS_PENSION_AMT=$APY_SUBS_PENSION_AMT,APY_SUBS_CONTR_AMT=$APY_SUBS_CONTR_AMT,
      APY_SUBS_SI_DT=to_date($APY_SUBS_SI_DT,'MM-DD-YYYY'),
      APY_SUBS_APLN_DATE=to_date($APY_SUBS_APLN_DATE,'MM-DD-YYYY'),
      APY_SUBS_APLN_PLACE=$APY_SUBS_APLN_PLACE,
      APY_SUBS_IT_PAYER=$APY_SUBS_IT_PAYER,APY_SUBS_NOM_NAME=$APY_SUBS_NOM_NAME,
      APY_SUBS_NOM_DOB=to_date($APY_SUBS_NOM_DOB,'MM-DD-YYYY'),
      APY_SUBS_NOM_ADHAR=$APY_SUBS_NOM_ADHAR,
      APY_SUBS_REL_WITH_NOM=$APY_SUBS_REL_WITH_NOM,
      APY_SUBS_MAJ_MIN_FLG=$APY_SUBS_MAJ_MIN_FLG,
      APY_SUBS_GUARD_NAME=$APY_SUBS_GUARD_NAME,
      APY_SUBS_TITLE=$APY_SUBS_TITLE 
      WHERE 
      APY_SUBS_BANK_ACT_NO=$APY_SUBS_BANK_ACT_NO;" );  
我怎么解决这个问题,我错在哪里?
谢谢你的建议。

我已经解决了。请将每个字符变量用单引号引起来,例如:“$APY\U SUBS\U FACERS\U NAME”。我给出了下面的解决方案,这可能对某人有所帮助

DB::statement("UPDATE APY_SUBS_DTLS_MAST SET 
    APY_SUBS_NAME='$APY_SUBS_NAME',
    APY_SUBS_FATHERS_NAME='$APY_SUBS_FATHERS_NAME',
      APY_SUBS_GENDER='$APY_SUBS_GENDER',
      APY_DATE_OF_BIRTH=to_date('$APY_DATE_OF_BIRTH','MM-DD-YYYY'),
      APY_SUBS_PAN='$APY_SUBS_PAN',
      APY_SUBS_ADD='$APY_SUBS_ADD',APY_SUBS_CITY='$APY_SUBS_CITY',
      APY_SUBS_STATE='$APY_SUBS_STATE',
      APY_SUBS_CTRY='$APY_SUBS_CTRY',
      APY_SUBS_PIN='$APY_SUBS_PIN',APY_SUBS_AREA='$APY_SUBS_AREA',
      APY_LANDMARK='$APY_LANDMARK',
      APY_SUBS_TEL=$APY_SUBS_TEL,APY_SUBS_MOB=$APY_SUBS_MOB,
      APY_SUBS_MAIL='$APY_SUBS_MAIL',APY_SUBS_SMS_FLG='$APY_SUBS_SMS_FLG',
      APY_SUBS_MARITAL_STAT='$APY_SUBS_MARITAL_STAT',
      APY_SUBS_SPOUSE_NAME='$APY_SUBS_SPOUSE_NAME',
      APY_SUBS_SPOUSE_ADHAR='$APY_SUBS_SPOUSE_ADHAR',
      APY_SUBS_ACT_TYPE='$APY_SUBS_ACT_TYPE',
      APY_SUBS_BANK_NAME='$APY_SUBS_BANK_NAME',
      APY_SUBS_BRANCH='$APY_SUBS_BRANCH',APY_SUBS_MICR=$APY_SUBS_MICR,
      APY_SUBS_IFSC='$APY_SUBS_IFSC',APY_SUBS_ADHAR='$APY_SUBS_ADHAR',
      APY_SUBS_NEW_EXIST='$APY_SUBS_NEW_EXIST',
      APY_SUBS_BENEF_OTHER='$APY_SUBS_BENEF_OTHER',
      APY_SUBS_PENSION_AMT=$APY_SUBS_PENSION_AMT,APY_SUBS_CONTR_AMT=$APY_SUBS_CONTR_AMT,
      APY_SUBS_SI_DT=to_date('$APY_SUBS_SI_DT','MM-DD-YYYY'),
      APY_SUBS_APLN_DATE=to_date('$APY_SUBS_APLN_DATE','MM-DD-YYYY'),
      APY_SUBS_APLN_PLACE='$APY_SUBS_APLN_PLACE',
      APY_SUBS_IT_PAYER='$APY_SUBS_IT_PAYER',APY_SUBS_NOM_NAME='$APY_SUBS_NOM_NAME',
      APY_SUBS_NOM_DOB=to_date('$APY_SUBS_NOM_DOB','MM-DD-YYYY'),
      APY_SUBS_NOM_ADHAR='$APY_SUBS_NOM_ADHAR',
      APY_SUBS_REL_WITH_NOM='$APY_SUBS_REL_WITH_NOM',
      APY_SUBS_MAJ_MIN_FLG='$APY_SUBS_MAJ_MIN_FLG',
      APY_SUBS_GUARD_NAME='$APY_SUBS_GUARD_NAME',
      APY_SUBS_TITLE='$APY_SUBS_TITLE' 
      WHERE 
      APY_SUBS_BANK_ACT_NO='$APY_SUBS_BANK_ACT_NO'" );

尝试添加;在你生命的尽头string@JeremyC. 我试过了,但结果是一样的。你看了吗?是的,但我们不能用to_date。为什么你要在to_date中用引号传递日期???e、 g.APY_出生日期=至日期“$APY_出生日期”,'MM-DD-YYYY'