PDOStatement::bindParam

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::bindParam — 매개변수를 지정된 변수 이름에 바인딩합니다.


설명

public PDOStatement::bindParam(
    string|int $param,
    mixed &$var,
    int $type = PDO::PARAM_STR,
    int $maxLength = 0,
    mixed $driverOptions = null
): bool
                

명령문을 준비하는 데 사용된 SQL 문의 해당 명명된 또는 물음표 자리 표시자에 PHP 변수를 바인딩합니다. PDOStatement::bindValue()와 달리 변수는 참조로 바인딩되며 PDOStatement::execute()가 호출될 때만 평가됩니다.

대부분의 매개변수는 입력 매개변수입니다. 즉, 쿼리를 작성하기 위해 읽기 전용 방식으로 사용되는 매개변수입니다(하지만 type에 따라 캐스트될 수 있음). 일부 드라이버는 데이터를 출력 매개변수로 반환하는 저장 프로시저 호출을 지원하고 일부 드라이버는 데이터를 보내고 데이터를 수신하도록 업데이트되는 입력/출력 매개변수로도 호출합니다.


매개변수

param
매개변수 식별자. 명명된 자리 표시자를 사용하는 준비된 명령문의 경우 이것은 :name 형식의 매개변수 이름이 됩니다. 물음표 자리 표시자를 사용하는 준비된 명령문의 경우 이는 매개변수의 1-인덱싱된 위치가 됩니다.
var
SQL 문 매개변수에 바인딩할 PHP 변수의 이름입니다.
type
PDO::PARAM_* 상수를 사용하는 매개변수의 명시적 데이터 유형입니다. 저장 프로시저에서 INOUT 매개 변수를 반환하려면 비트 OR 연산자를 사용하여 type 매개 변수에 대해 PDO::PARAM_INPUT_OUTPUT 비트를 설정합니다.
maxLength
데이터 유형의 길이입니다. 매개변수가 저장 프로시저의 OUT 매개변수임을 나타내려면 길이를 명시적으로 설정해야 합니다.
driverOptions

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 명명된 자리 표시자를 사용하여 준비된 명령문 실행

                  
<?php
/* Execute a prepared statement by binding PHP variables */
$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);
/* Names can be prefixed with colons ":" too (optional) */
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>
                  
                

예제 #2 물음표 자리 표시자가 있는 준비된 명령문 실행

                  
<?php
/* Execute a prepared statement by binding PHP variables */
$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();
?>
                  
                

예제 #3 INOUT 매개변수를 사용하여 저장 프로시저 호출

                  
<?php
/* Call a stored procedure with an INOUT parameter */
$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");
?>
                  
                

기타