Что означает двоеточие перед литералом в выражении SQL?

Что означает использовать « : » перед переменной?

Например :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.

Related of "Что означает двоеточие перед литералом в выражении SQL?"

Двоеточие – это общий символ, который указывает местозаполнитель для значения переменной в выражении SQL. В этом случае те заполнители заменяются значением userId и project_id во время выполнения. Это отлично подходит для предотвращения уязвимостей SQL-инъекций.

: userId является заполнителем

Согласно документации Yii для инструкции SQL :

Для подготовленного оператора с использованием именованных заполнителей это будет имя параметра формы : name .

Как упоминает thaidiotguy, это характер, который используется в основном с подготовленными заявлениями, особенно с PDO. В PDO двоеточие сообщает, что следующим является именованный параметр.