Edit report at https://bugs.php.net/bug.php?id=51196&edit=1
ID: 51196 Updated by: s...@php.net Reported by: joel at layers dot com Summary: SQLT_INT or OCI_B_INT not binding correctly -Status: Feedback +Status: No Feedback Type: Bug Package: OCI8 related Operating System: linux 2.6.21.7-2.fc8xen PHP Version: 5.3.1 Assigned To: sixd Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2010-03-05 08:07:25] s...@php.net Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2010-03-03 14:12:13] joel at layers dot com As a test, try this PLSQL function with the SQLT_INT or OCI_B_INT bind types... CREATE OR REPLACE FUNCTION FUNCTION1 RETURN NUMBER AS BEGIN RETURN 234; END FUNCTION1; ------------------------------------------------------------------------ [2010-03-03 13:53:51] joel at layers dot com Description: ------------ When trying to bind the return value of a function as SQLT_INT or OCI_B_INT, the value that is bound upon return shows as int(-4294964414), where the expected is 2882, in our case. The oracle function returns NUMBER data type. Changing the bind type to SQLT_CHAR resolves the problem. This worked in php 5.2.11 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=51196&edit=1