/** * Binds a PHP variable to a parameter in the prepared statement. * * @param mixed $parameter * @param string $variable * @param string $type OPTIONAL * @param integer $length OPTIONAL * @param array $options OPTIONAL * @return void * @throws Zend_Db_Statement_Db2_Exception */ public function bindParam($parameter, &$variable, $type = null, $length = null, $options = null) { Zend_Db_Statement::bindParam($parameter, $variable, $length, $options); if (!is_int($parameter)) { require_once 'Zend/Db/Statement/Db2/Exception.php'; throw new Zend_Db_Statement_Db2_Exception('Binding parameters by name is not supported in the DB2 Adapter'); } if ($type === null) { $type = DB2_PARAM_IN; } if (isset($options['data-type'])) { $datatype = $options['data-type']; } else { $datatype = DB2_CHAR; } if ($parameter > 0 && $parameter <= count($this->_sqlParam)) { if (!db2_bind_param($this->_stmt, $parameter, "variable", $type, $datatype)) { require_once 'Zend/Db/Statement/Db2/Exception.php'; throw new Zend_Db_Statement_Db2_Exception(db2_stmt_errormsg($this->_stmt), db2_stmt_error($this->_stmt)); } } else { require_once 'Zend/Db/Statement/Db2/Exception.php'; throw new Zend_Db_Statement_Db2_Exception("Position '{$parameter}' not valid"); } }