ID: 14278 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Closed +Status: Feedback Bug Type: OCI8 related Operating System: Linux 2.2.19 PHP Version: 4.0.6 New Comment:
oops - closed to fast. please send me a short _SELF_ contains script that shows the problem (including the oci-calls) Previous Comments: ------------------------------------------------------------------------ [2002-04-13 09:00:59] [EMAIL PROTECTED] all scalar values returned from PHP-OCI8 are strings. ------------------------------------------------------------------------ [2002-04-09 18:12:39] [EMAIL PROTECTED] recategorizing as an oci8 issue. ------------------------------------------------------------------------ [2002-01-09 09:17:14] [EMAIL PROTECTED] After some more investigation on this bug I noticed following: I have an OCI insert statement executed with a 'RETURNING INTO' clause. The value which is returned is a oracle DB entry of type NUMBER. I expected to have the returned value in PHP to be a number as well. BUT it is a string! Some more output I produced in my script is: <? echo("$num (type: ".gettype($num)."[".strlen($num)."] - ".($num*1).")"); ?> The result (when the error occures): 106851 (type: string[6] - 1068514) As you can see the value of the $num variable changes while automatic type casting from string to int is executed. The reason for the NEW (bigger) value is possibly a not null terminated string value returned by the OCI interface. My suggestion: While typecasting from string to int an extra check should be done (e.g. detect if there is a null terminated string and if not: terminate it). Thanks for your patch! ------------------------------------------------------------------------ [2001-12-20 12:48:09] [EMAIL PROTECTED] No feedback. Closing. ------------------------------------------------------------------------ [2001-11-29 15:42:41] [EMAIL PROTECTED] E:\php>php -v 4.0.6 E:\php>php -q test.php 101110 22 3888 14 149 19 5 5 0 0 0 0 AAFTOW No matter how many times I run this script I always get this. Also tested it on Linux (2.4), with PHP 4.2.0-dev and it works. Please try a newer version and see if that fixes the problem you're having. http://www.php.net/~zeev/php-4.1.0RC3.tar.gz or http://snaps.php.net/php4-latest.tar.gz -Chris ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/14278 -- Edit this bug report at http://bugs.php.net/?id=14278&edit=1