Что означает использовать « : » перед переменной?
Например :userId
в этом коде:
public function removeUser($userId) { $command = Yii::app()->db->createCommand(); $command->delete( 'tbl_project_user_assignment', 'user_id=:userId AND project_id=:projectId', array(':userId'=>$userId,':projectId'=>$this->id)); }
Это PHP, код MySQL в структуре Yii.
Двоеточие – это общий символ, который указывает местозаполнитель для значения переменной в выражении SQL. В этом случае те заполнители заменяются значением userId
и project_id
во время выполнения. Это отлично подходит для предотвращения уязвимостей SQL-инъекций.
: userId является заполнителем
Согласно документации Yii для инструкции SQL :
Для подготовленного оператора с использованием именованных заполнителей это будет имя параметра формы : name .
Как упоминает thaidiotguy, это характер, который используется в основном с подготовленными заявлениями, особенно с PDO. В PDO двоеточие сообщает, что следующим является именованный параметр.