Exemplo n.º 1
0
 /**
  * Binds a PHP variable to a corresponding named or question mark placeholder in the SQL statement
  * that was use to prepare the statement. Unlike PDOStatement::bindValue(), the variable is bound
  * as a reference and will only be evaluated at the time that PDOStatement::execute() is called.
  * Returns a boolean value indicating success.
  *
  * @param     integer  $pos  Parameter identifier (for determining what to replace in the query).
  * @param     mixed    $value  The value to bind to the parameter.
  * @param     integer  $type  Explicit data type for the parameter using the PDO::PARAM_* constants. Defaults to PDO::PARAM_STR.
  * @param     integer  $length  Length of the data type. To indicate that a parameter is an OUT parameter from a stored procedure, you must explicitly set the length.
  * @param     mixed    $driver_options
  *
  * @return    boolean
  */
 public function bindParam($pos, &$value, $type = PDO::PARAM_STR, $length = 0, $driver_options = null)
 {
     $debug = $this->pdo->getDebugSnapshot();
     $typestr = isset(self::$typeMap[$type]) ? self::$typeMap[$type] : '(default)';
     $return = parent::bindParam($pos, $value, $type, $length, $driver_options);
     $valuestr = $length > 100 ? '[Large value]' : var_export($value, true);
     $msg = sprintf('Binding %s at position %s w/ PDO type %s', $valuestr, $pos, $typestr);
     $this->boundValues[$pos] = $valuestr;
     $this->pdo->log($msg, null, __METHOD__, $debug);
     return $return;
 }