Esempio n. 1
0
 /**
  * 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");
     }
 }