PDOStatement :: BindParam
Manuale PHP DOP di riferimento
PDOStatement :: BindParam - associare un parametro al nome della variabile specificato (PHP 5> = 5.1.0, PECL DOP> = 0.1.0)
spiegazione
grammatica
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Associare una variabile PHP ad un'istruzione SQL come pretrattamento corrispondente nome o punto interrogativo segnaposto segnaposto. A differenza PDOStatement :: bindValue (), questa variabile è legata come riferimento, e solo :: Execute a PDOStatement () viene invocato a qualsiasi valore.
La maggior parte dei parametri sono parametri di input, cioè, i parametri utilizzati per creare la query modalità di sola lettura. Alcuni driver supportano chiamare una stored procedure e restituisce i dati come parametri di output, un certo supporto, come i parametri di ingresso / uscita, sia inviare e ricevere dati dopo l'aggiornamento.
parametri
parametro
identificativo del parametro. Per l'uso segnaposto nome istruzioni preparate dovrebbero essere simili a: nominare il nome del parametro modulo. Per segnaposto punto interrogativo nel dichiarazione preparata, esso dovrebbe essere basata sul parametro 1-indicizzato.
variabile
Legato alla SQL parametri di istruzioni PHP nome di variabile.
data_type
Utilizzare DOP :: PARAM_ * costanti per specificare esplicitamente il tipo di parametro. Da una stored procedure restituisce un parametro INOUT, è necessario utilizzare l'operatore OR per impostare la PDO :: PARAM_INPUT_OUTPUT morse data_type parametro.
lunghezza
suggerimenti pre-assegnati.
driverdata
Tipo di dati Lunghezza. Per mostrare il parametro è un parametro OUT di una stored procedure, è necessario impostare in modo esplicito questa lunghezza.
driver_options
Valore di ritorno
ritorno di successo TRUE, o in caso di errore restituisce false.
Esempi
segnaposto esecutivi utilizzando una dichiarazione preparata nome
<?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(); ?>
Attuazione di un segnaposto punto interrogativo nella dichiarazione preparata
<?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(); ?>
parametro INOUT utilizzando una chiamata di stored procedure
<?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"); ?>