/** * 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); } } }
/** * 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); } } }
/** * 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; }
/** * 重载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); }