thanks rob!

here goes the working method.

public function bind_result(&$arg1=null,&$arg2=null,&$arg3=null) {
                $numArgs = func_num_args();
                $args = array();
                for ($i=1; $i<= $numArgs; $i++) {
                         $args['arg' . $i] = &${'arg'.$i};
                }

                
call_user_func_array('mysqli_stmt_bind_result',array_merge(array($this->stmt),$args));
}

        $stmt->bind_result($id, $test);
        $stmt->fetch();
        echo $id, $test;

~viraj


On Wed, Jan 6, 2010 at 10:01 AM, Robert Cummings <rob...@interjinn.com> wrote:
> viraj wrote:
>>
>> hi all,
>> i'm trying to write a wrapper function for "mysqli_stmt_bind_results".
>> and expect it to work the same way it accepts and bind results to the
>> original function.
>>
>> the problem is, i couldn't find a way to pass the args by reference
>> via func_get_args and register the out put from call_user_func_array
>> to the caller scope.. any idea?
>>
>> here goes few lines which i'm trying hard for past 48 hours.. with no
>> luck.. :(
>>
>> class stmt {
>>       private $stmt;
>>
>>       public function bind_result() {
>>                $argsToBindResult = func_get_args();
>>                $argList = array($this->stmt);
>>                $argList = array_merge($argList, $argsToBindResult);
>>                call_user_func_array('mysqli_stmt_bind_result', $argList);
>>        }
>> }
>>
>> $stmt->prepare('SELECT name,email FROM users WHERE id = ?');
>> $stmt->bind_param('i',2);
>> .. ..
>> $stmt->bind_result($name,$email);
>> echo $name,$email;
>
> You're out of luck for using the func_get_args() call. The following method
> (albeit a dirty method) works:
>
> <?php
>
> function bind_stuff( &$arg1, &$arg2=null, &$arg3=null, &$arg4=null,
> &$arg5=null, &$arg6=null, &$arg7=null, &$arg8=null, &$arg9=null )
> {
>    for( $i = 1; $i <= 9; $i++ )
>    {
>        ${'arg'.$i} = 'bound'.$i;
>    }
> }
>
> bind_stuff( $name, $email );
>
> echo $name."\n";
> echo $email."\n";
>
> ?>
>
> Cheers,
> Rob.
> --
> http://www.interjinn.com
> Application and Templating Framework for PHP
>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to