PDOStatement :: bindParam
PDOStatement :: bindParam - binden, um einen Parameter auf den angegebenen Variablennamen (PHP 5> = 5.1.0, PECL gU> = 0.1.0)
Erklärung
Grammatik
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Bindet eine PHP-Variable an einer SQL-Anweisung als eine Vorbehandlung namens entsprechenden oder Fragezeichen-Platzhalter Platzhalter. Im Gegensatz zu PDOStatement :: bindValue () wird diese Variable als Referenz gebunden und :: nur in PDOStatement () ausführen zu welcher Wert aufgerufen wird.
Die meisten Parameter sind Eingangsparameter, das heißt, die Parameter verwendet, um die Abfrage schreibgeschützten Modus zu bauen. Einige Treiber unterstützen eine gespeicherte Prozedur aufrufen und geben Daten als Ausgangsparameter, eine gewisse Unterstützung, wie die Ein- / Ausgangsparameter, Senden und Empfangen von Daten nach dem Update.
Parameter
Parameter
Parameterkennung. Für die Verwendung benannten Platzhalter sollten vorbereitete Anweisungen ähnlich sein: die Form Parameternamen nennen. Für Fragezeichen-Platzhalter in der vorbereiteten Anweisung, sollte es bezogen auf 1-indizierte Parameter werden.
Variable
Gebunden an die SQL-Anweisung Parameter PHP Variablennamen.
data_type
Verwenden Sie PDO :: PARAM_ * Konstanten explizit den Typ des Parameters angeben. Aus einer gespeicherten Prozedur ein INOUT-Parameter zurückgibt, müssen Sie den bitweisen OR-Operator zu verwenden, das PDO :: PARAM_INPUT_OUTPUT Bit DATA_TYPE Parameter einzustellen.
Länge
Vorab zugewiesene Tipps.
driverdata
Länge Datentyp. Um zu zeigen, der Parameter ein OUT-Parameter einer gespeicherten Prozedur ist, müssen Sie explizit diese Länge gesetzt.
driver_options
Rückgabewert
Erfolgreiche Rückkehr TRUE, oder bei einem Fehler FALSCH.
Beispiele
Vorstand mit einer vorbereiteten Erklärung benannten Platzhalter
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
Implementierung eines Fragezeichen-Platzhalter in der vorbereiteten Anweisung
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->bindParam(1, $calories, PDO::PARAM_INT); $sth->bindParam(2, $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
INOUT-Parameter eine gespeicherte Prozedur-Aufruf
<?php /* 使用 INOUT 参数调用一个存储过程 */ $colour = 'red'; $sth = $dbh->prepare('CALL puree_fruit(?)'); $sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12); $sth->execute(); print("After pureeing fruit, the colour is: $colour"); ?>