2013-01-29 7 views
5

Was bedeutet es, ":" vor einer Variablen zu verwenden?Was bedeutet ein Doppelpunkt vor einem Literal in einer SQL-Anweisung?

Zum Beispiel :userId in diesem Code:

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)); 
} 

Dies ist PHP, MySQL Code in Yü-Framework.

+2

Es gibt eine Bindevariable für vorbereitete Anweisungen an. – datasage

+0

Danke dir. Deine Antwort hat geholfen. –

Antwort

6

Der Doppelpunkt ist ein gemeinsames Zeichen, das einen Platzhalter für einen Variablenwert in einer SQL-Anweisung angibt. In diesem Fall werden diese Platzhalter zur Laufzeit durch die Werte userId und project_id ersetzt. Dies ist ideal, um SQL-Injection-Schwachstellen zu vermeiden.

+0

Danke. Es ist sehr nützlich. –

0

Wie Thaidiotguy erwähnt, ist es ein Zeichen, das mit vorbereiteten Aussagen vor allem mit PDO verwendet wird. In PDO sagt der Doppelpunkt, dass das folgende ein benannter Parameter ist.

3

: userId ist ein Platzhalter Dokumentation

Nach Yü ist für SQL statement: nennen:

Für eine vorbereitete Erklärung benannten Platzhalter verwenden, wird dies ein Parameter Name des Formulars sein .

+0

Es ist hilfreich. Vielen Dank –

Verwandte Themen