--- program/lib/MDB2/Driver/mysqli.php.orig	2010-04-25 07:45:44.000000000 +0800
+++ program/lib/MDB2/Driver/mysqli.php	2010-04-25 07:47:11.000000000 +0800
@@ -1720,7 +1720,9 @@
                         if (PEAR::isError($quoted)) {
                             return $quoted;
                         }
-                        $parameters[] = $quoted;
+                        $bind_param = 'bind_param' . $i;
+                        $$bind_param = $quoted;
+                        $parameters[] = &$$bind_param;
                         $parameters[1].= $this->db->datatype->mapPrepareDatatype($type);
                     }
                     ++$i;
@@ -1731,7 +1733,7 @@
                 $query.= ' USING @'.implode(', @', array_values($this->positions));
             } else {
                 $result = @call_user_func_array('mysqli_stmt_bind_param', $parameters);
-                if ($result === false) {
+                if ($result !== true) {
                     $err =& $this->db->raiseError(null, null, null,
                         'Unable to bind parameters', __FUNCTION__);
                     return $err;

