/**
  * Binds parameter values for an SQL command.
  * @param CDbCommand $command database command
  * @param array $values values for binding (integer-indexed array for question mark placeholders, string-indexed array for named placeholders)
  */
 public function bindValues($command, $values)
 {
     if (($n = count($values)) === 0) {
         return;
     }
     // by default yii checks value type and if it is float, yii sends value to pdo as string
     // mysql process this floats as string normal, but sphinx doesn't
     if (isset($values[0])) {
         for ($i = 0; $i < $n; ++$i) {
             $type = is_float($values[$i]) ? PDO::PARAM_INT : null;
             $command->bindValue($i + 1, $values[$i], $type);
         }
     } else {
         foreach ($values as $name => $value) {
             if ($name[0] !== ':') {
                 $name = ':' . $name;
             }
             $type = is_float($value) ? PDO::PARAM_INT : null;
             $command->bindValue($name, $value, $type);
         }
     }
 }
Пример #2
0
	/**
	 * Binds parameter values for an SQL command.
	 * @param CDbCommand $command database command
	 * @param array $values values for binding (integer-indexed array for question mark placeholders, string-indexed array for named placeholders)
	 */
	public function bindValues($command, $values)
	{
		if(($n=count($values))===0)
			return;
		if(isset($values[0])) // question mark placeholders
		{
			for($i=0;$i<$n;++$i)
				$command->bindValue($i+1,$values[$i]);
		}
		else // named placeholders
		{
			foreach($values as $name=>$value)
			{
				if($name[0]!==':')
					$name=':'.$name;
				$command->bindValue($name,$value);
			}
		}
	}
Пример #3
0
 /**
  * Binds parameter values for an SQL command.
  * @param CDbCommand $command database command
  * @param array $values values for binding (integer-indexed array for question mark placeholders, string-indexed array for named placeholders)
  */
 public function bindValues($command, $values)
 {
     if (($n = count($values)) === 0) {
         return;
     }
     if (isset($values[0])) {
         for ($i = 0; $i < $n; ++$i) {
             $command->bindValue($i + 1, $values[$i]);
         }
     } else {
         foreach ($values as $name => $value) {
             if ($name[0] !== ':') {
                 $name = ':' . $name;
             }
             $command->bindValue($name, $value);
         }
     }
 }
 public function bindValue($name, $value, $dataType = null)
 {
     $this->prepare();
     if ($this->toExplain) {
         if ($dataType === null) {
             $this->_statement_explain->bindValue($name, $value, $this->getP("_connection")->getPdoType(gettype($value)));
         } else {
             $this->_statement_explain->bindValue($name, $value, $dataType);
         }
     }
     parent::bindValue($name, $value, $dataType);
     return $this;
 }
Пример #5
0
 /**
  * 重载bindValue,记录绑定的值
  */
 public function bindValue($name, $value, $dataType = null)
 {
     $tmp = array($name, $value, $dataType);
     array_push($this->bind_values, $tmp);
     return parent::bindValue($name, $value, $dataType);
 }