PDOStatement::bindParam — Vincula um parâmetro ao nome da variável especificada (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDOStatement::bindParam ( misto $parâmetro , misto &$variável [, int $data_type = PDO::PARAM_STR [, int $length [, misto $driver_options ]]] )
Vincule uma variável PHP ao espaço reservado nomeado correspondente ou ao espaço reservado de ponto de interrogação na instrução SQL usada para pré-processamento. Ao contrário de PDOStatement::bindValue(), esta variável é vinculada como uma referência e só assume seu valor quando PDOStatement::execute() é chamado.
A maioria dos parâmetros são parâmetros de entrada, ou seja, os parâmetros são usados somente leitura para construir a consulta. Alguns drivers suportam a chamada de procedimentos armazenados e o retorno de dados como parâmetros de saída, e alguns os suportam como parâmetros de entrada/saída, tanto enviando dados quanto recebendo dados atualizados.
parâmetro identificador do parâmetro . Para instruções preparadas usando espaços reservados nomeados, o nome do parâmetro deve estar no formato :name. Para declarações preparadas usando o espaço reservado para ponto de interrogação, a posição do parâmetro deve ser indexada começando com 1.
variável O nome da variável PHP vinculado ao parâmetro da instrução SQL.
data_type usa as constantes PDO::PARAM_* para especificar explicitamente o tipo do parâmetro. Para retornar um parâmetro INOUT de um procedimento armazenado, use o operador OR bit a bit para o parâmetro data_type para definir o bit PDO::PARAM_INPUT_OUTPUT.
dica de pré-alocação de comprimento .
O comprimento do tipo de dados driverdata . Para indicar que o parâmetro é um parâmetro OUT de um procedimento armazenado, esse comprimento deve ser definido explicitamente.
opções_de_driver
Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
<?php/* Executa uma instrução preparada através de variáveis PHP vinculadas*/$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT nome, cor, calorias FROM fruta WHERE calorias < :calories AND color = :cor');$sth->bindParam(':calorias', $calorias, PDO::PARAM_INT);$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();?>
<?php/* Executa uma instrução preparada através de variáveis PHP vinculadas*/$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT nome, cor, calorias FROM fruta WHERE calorias < ? AND color = ?');$sth->bindParam(1, $calories, PDO::PARAM_INT);$sth->bindParam(2, $cor, PDO::PARAM_STR, 12);$sth->executar();?>
<?php/* Chama um procedimento armazenado com parâmetros INOUT*/$colour = 'red';$sth = $dbh->prepare('CALL puree_fruit(?)');$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);$sth->execute();print("Depois de fazer purê de frutas, a cor é: $cor");?>