#49946 [NEW]: mysqli_stmt_bind_param saying parameter 3 is value not a reference
From: chris at network-13 dot com Operating system: Windows 7 PHP version: 5.3.0 PHP Bug Type: MySQLi related Bug description: mysqli_stmt_bind_param saying parameter 3 is value not a reference Description: I tested this on both linux/windows with PHP 5.2.10 and it gave no problems. After updating the windows machine to PHP 5.3.0 it now gives the error. Warning: Parameter 3 to mysqli_stmt_bind_param() expected to be a reference, value given Reproduce code: --- result = $result; } } $uid = NEW db(); $uid->getresult("SELECT uid FROM testtable WHERE user = ?","Chris"); echo $uid->result; ?> Expected result: It should echo the uid of the user. Actual result: -- Warning: Parameter 3 to mysqli_stmt_bind_param() expected to be a reference, value given in D:\www\mysqli2.php on line 16 -- Edit bug report at http://bugs.php.net/?id=49946&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=49946&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=49946&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=49946&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=49946&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=49946&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=49946&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=49946&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=49946&r=needscript Try newer version: http://bugs.php.net/fix.php?id=49946&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=49946&r=support Expected behavior: http://bugs.php.net/fix.php?id=49946&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=49946&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=49946&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=49946&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49946&r=php4 Daylight Savings:http://bugs.php.net/fix.php?id=49946&r=dst IIS Stability: http://bugs.php.net/fix.php?id=49946&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=49946&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=49946&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=49946&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=49946&r=mysqlcfg
#49946 [Com]: mysqli_stmt_bind_param saying parameter 3 is value not a reference
ID: 49946 Comment by: chris at network-13 dot com Reported By: chris at network-13 dot com Status: Open Bug Type: MySQLi related Operating System: Windows 7 PHP Version: 5.3.0 New Comment: Does this mean 5.3.0 is correct in giving the error and 5.2.10 was wrong in letting it work? Previous Comments: [2009-10-21 15:27:40] u...@php.net Sounds like Bogus http://de3.php.net/manual/en/function.call-user-func-array.php -> Note: Referenced variables in param_arr are passed to the function by a reference, others are passed by a value. In other words, it does not depend on the function signature whether the parameter is passed by a value or by a reference. call_user_func_array does call by value and mysqli_stmt_bind_param() is documented to expect variables passed by reference. http://de3.php.net/manual/en/mysqli-stmt.bind-param.php bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] ) [2009-10-21 15:20:42] chris at network-13 dot com Description: I tested this on both linux/windows with PHP 5.2.10 and it gave no problems. After updating the windows machine to PHP 5.3.0 it now gives the error. Warning: Parameter 3 to mysqli_stmt_bind_param() expected to be a reference, value given Reproduce code: --- result = $result; } } $uid = NEW db(); $uid->getresult("SELECT uid FROM testtable WHERE user = ?","Chris"); echo $uid->result; ?> Expected result: It should echo the uid of the user. Actual result: -- Warning: Parameter 3 to mysqli_stmt_bind_param() expected to be a reference, value given in D:\www\mysqli2.php on line 16 -- Edit this bug report at http://bugs.php.net/?id=49946&edit=1