ID:               11924
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Feedback
 Bug Type:         InterBase related
 Operating System: Windows 2000
 PHP Version:      4.0.6
 New Comment:

> I'd like to know the output of:
> var_dump (get_func_args()) in ibase_execute... this is your > own
function, isn't it?

 No, it is InterBase module function :)
http://www.php.net/manual/en/function.ibase-execute.php

 This bug is still present in 4.2.1, that code example returns me:

Array
(
    [0] => Resource id #2
    [1] => some text
    [2] => amother text
)
Array
(
    [0] => Resource id #2
    [1] => 0
    [2] => amother text
)

As you can see - contents of array with index 1 is changes, while they
should not.


Previous Comments:
------------------------------------------------------------------------

[2002-05-25 09:41:40] [EMAIL PROTECTED]

ok, nm :)

I'd like to know the output of:

var_dump (get_func_args()) in ibase_execute... this is your own
function, isn't it?

Derick

------------------------------------------------------------------------

[2002-05-25 09:27:25] [EMAIL PROTECTED]

Sorry, but i don't understand your question...

------------------------------------------------------------------------

[2002-05-25 09:21:56] [EMAIL PROTECTED]

Who would you want to do something like this?

------------------------------------------------------------------------

[2001-07-06 06:03:08] [EMAIL PROTECTED]

It seems to be a problem when ibase_execute called indirectly, through
call_user_func_array().

Look at the following piece of code:

$args = array('some text','amother text');
$query = ibase_prepare($conn,"insert into MY_TABLE (INT_FIELD,
STR_FIELD) values (?,?)");
array_unshift($args,$query);
print_r($args);
$rs = call_user_func_array('ibase_execute',$args);
print_r($args);
ibase_free_query($query);

MY_TABLE table contains two columns:
INT_FIELD INTEGER,
STR_FIELD VARCHAR(50)

 Imagine, that we're make an error, and pass string values for both
fields. 
No error will be given, but at second print_r() first item inro $args
array 
will be equal to 0 instead of 'some text'.

 As I can understand, all query parameters are replaced by values,
actually 
stored into database (like they are passed by reference, 
but allow_call_time_pass_reference options is turned off). 
 If it is not a bug, but a "feature", it must be documented, to avoid
future misunderstandings.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=11924&edit=1

Reply via email to