Monday, October 29, 2012

PHP : Oracle ORA-06550 Error แก้อย่างไรดี ???

ปัญหาข้อผิดพลาดของการเขียนโค้ด PHP Oracle นี้คือ ตอนเขียน ociparse ในส่วนที่เป็นคำสั่ง SQL ที่ CALL Procedure นั้นจะต้องไม่ขึ้นบรรทัดใหม่ครับ

Warning: ociexecute() [function.ociexecute]: ORA-06550: บรรทัด 1 คอลัมน์ 206: PLS-00103: พบสัญลักษณ์ "" เมื่อต้องการค่าต่อไปนี้: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe สัญลักษณ์ "" ไม่ได้ประมวลผล in C:\AppServ\www\testtab\_get_payment_detail.php on line 25
ตัวอย่างคำสั่ง
$stmt = ociparse($conn,"begin tbb_management_pck.get_payment_detail(:in_receipt_id,:out_account_num,:out_invoice_num,:out_vat_mny,:out_inc_vat_mny,:out_wt_mny,:out_total_mny,:out_cursor1,:out_cursor2,:out_status,:out_exception); 
end;");
เมื่อแก้ไขแล้วโปรแกรมก็จะสามารถทำงานตามปกติ

No comments:

Post a Comment