ID: 30616 Updated by: [EMAIL PROTECTED] Reported By: john at milsson dot nu -Status: Closed +Status: Bogus Bug Type: MySQLi related Operating System: Windows PHP Version: 5.0.2 New Comment:
Not a bug in PHP then -> bogus. Previous Comments: ------------------------------------------------------------------------ [2004-10-30 04:51:24] john at milsson dot nu Tried to trigger this at home. But it works as expected. But: 1. This is a linux machine. 2. Home compiled 3. I'm not stressed out... 4. The code is much cleaner. My guess is that I screwd up with one of the '&' in some deep nested retuen tree As I said, this code works: class ArrayObj implements ArrayAccess { private $_val; public $valAsProp; function __construct($val){ $this->_val = $val; $this->valAsProp =& $this->_val; } // // ArrayAccess interface // function offsetExists($key) { return isset($this->{'_'.$key}); } function &offsetGet($key) { return $this->{'get'.ucfirst($key)}(); } function offsetSet($key,$val) { $this->{'_'.$key} = $val; } function offsetUnset($key) { $this->{'_'.$key} = null; } function &__get($key) { return $this->{'_'.$key}; } function &getVal() { return $this->_val; } } $arrayobj = new ArrayObj(new ArrayObj('an other val')); $db = new mysqli('localhost'); $stmt = $db->prepare("SELECT ? as `val`"); //$stmt->bind_param('s', $arrayobj->valAsProp); //$stmt->bind_param('s', $arrayobj->val); $stmt->bind_param('s', $arrayobj['val']['val']); $stmt->execute(); $stmt->bind_result($res); $stmt->fetch(); $stmt->close(); echo "\n$res\n"; ?> ------------------------------------------------------------------------ [2004-10-30 00:56:11] [EMAIL PROTECTED] Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. ------------------------------------------------------------------------ [2004-10-29 21:26:35] john at milsson dot nu Description: ------------ Fatal error: Objects used as arrays in post/pre increment/decrement must return values by reference when I try to use $mysqli_stmt->bind_param('s',$arrayAccessObj['offset']); even though offsetget is declared as function &offsetGet($key) { return $this->{'_'.strtolower($key)}; } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30616&edit=1