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

Reply via email to