2017-08-16 91 views
0

我想从PHP数据插入到OraclePHP oci_execute():ORA-01008:并非所有变量绑定

,但我有错误oci_execute(): ORA-01008: not all variables bound

注意:插入一些数据表并不是所有的申请。

$sql = 'INSERT INTO LIC_WEB_VIOLATIONS (VIO_CODE, LIC_CODE, LIC_NO , NOTES, PAID_FLAG, AUDIT_FLAG, TYPE, STATUS, LIC_TYPE, OWNER_ID, CREATION_DATE, CREATION_USER_ID) 
VALUES(:VIO_CODE, :LIC_CODE, :LIC_NO, :NOTES, :PAID_FLAG, :AUDIT_FLAG, :TYPE, :STATUS, :LIC_TYPE, :OWNER_ID, :CREATION_DATE , :CREATION_USER_ID)'; 

$stid = oci_parse($objConnect, $sql); 

oci_bind_by_name($stid, ':VIO_CODE', $VioCode); 
oci_bind_by_name($stid, ':LIC_CODE', $Lic_Code); 
oci_bind_by_name($stid, ':LIC_NO', $Lic_no); 
oci_bind_by_name($stid, ':NOTES', $NOTES); 
oci_bind_by_name($stid, ':PAID_FLAG', $PAID_FLAG); 
oci_bind_by_name($stid, ':AUDIT_FLAG', $AUDIT_FLAG); 
oci_bind_by_name($stid, ':TYPE', $TYPE); 
oci_bind_by_name($stid, ':STATUS', $STATUS); 
oci_bind_by_name($stid, ':LIC_TYPE', $LIC_TYPE); 
oci_bind_by_name($stid, ':OWNER_ID', $IDNum); 
oci_bind_by_name($stid, ':LIC_TYPE', $TimeNow); 
oci_bind_by_name($stid, ':CREATION_USER_ID', $CREATION_USER_ID); 

$r = oci_execute($stid); // executes and commits 

if ($r) { 
    print "sucess VIOLATIONS"; 
} 

oci_free_statement($stid); 
oci_close($objConnect); 

回答

1

:LIC_TYPE为界两次,:CREATION_DATE从不:

变化:

oci_bind_by_name($stid, ':LIC_TYPE', $LIC_TYPE); 
oci_bind_by_name($stid, ':OWNER_ID', $IDNum); 
oci_bind_by_name($stid, ':LIC_TYPE', $TimeNow); 

要:

oci_bind_by_name($stid, ':LIC_TYPE', $LIC_TYPE); 
oci_bind_by_name($stid, ':OWNER_ID', $IDNum); 
oci_bind_by_name($stid, ':CREATION_DATE', $TimeNow); 
+0

$ DateToday = date(“d/m/y”); 当插入日期 - >错误出现在我'ORA-01843:不是有效的月份' –

+0

@mohammadrababah可能错误的dateformat? – Jens

+0

确定但是什么正确的日期格式 –

1

你错过了CREATION_DATE粘贴LIC_TYPE两次,改变倒数第二行

oci_bind_by_name($stid, ':CREATION_DATE', $CREATION_DATE); // assume var name