变量
前使用":"是什么意思?
例如,: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));
}
这是 Yii 框架中的 PHP,MySQL 代码。
冒号是一个常用字符,指示 SQL 语句中变量值的占位符。在这种情况下,这些占位符将在运行时被 userId
和 project_id
的值替换。这对于避免 SQL 注入漏洞非常有用。
:userId 是一个占位符
根据 Yii 的 SQL 语句文档:
对于使用命名占位符的预准备语句,这将是一个 形式 :name 的参数名称。
正如thaidiotguy所提到的,这是一个与准备好的语句一起使用的字符,尤其是PDO。在PDO中,冒号表示以下内容是命名参数。