SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::bindParam — 매개변수를 명령문 변수에 바인딩


설명

public SQLite3Stmt::bindParam(string|int $param, mixed &$var, int $type = SQLITE3_TEXT): bool

매개변수를 명령문 변수에 바인딩합니다.

주의 PHP 7.2.14 및 7.3.0 이전에는 각각 SQLite3Stmt::execute()에 대한 다음 호출에서 바인딩된 값이 올바르게 업데이트되어야 하는 경우 SQLite3Stmt::execute()에 대한 첫 번째 호출 후에 SQLite3Stmt::reset()을 호출해야 합니다. . SQLite3Stmt::reset()이 호출되지 않으면 SQLite3Stmt::bindParam()에 전달된 변수에 할당된 값이 변경되거나 SQLite3Stmt::bindParam()이 다시 호출되더라도 바인딩된 값은 변경되지 않습니다.


매개변수

param
값이 바인딩되어야 하는 명령문 변수를 식별하는 문자열(명명된 매개변수의 경우) 또는 int(위치 매개변수의 경우)입니다. 명명된 매개변수가 콜론(:) 또는 at 기호(@)로 시작하지 않으면 콜론(:)이 자동으로 앞에 붙습니다. 위치 매개변수는 1로 시작합니다.
var
명령문 변수에 바인딩할 매개변수입니다.
type
바인딩할 매개변수의 데이터 유형입니다.
  • SQLITE3_INTEGER: 값은 부호 있는 정수이며 값의 크기에 따라 1, 2, 3, 4, 6 또는 8바이트에 저장됩니다.
  • SQLITE3_FLOAT: 값은 8바이트 IEEE 부동 소수점 숫자로 저장된 부동 소수점 값입니다.
  • SQLITE3_TEXT: 값은 데이터베이스 인코딩(UTF-8, UTF-16BE 또는 UTF-16-LE)을 사용하여 저장된 텍스트 문자열입니다.
  • SQLITE3_BLOB: 값은 입력된 그대로 정확히 저장된 데이터 덩어리입니다.
  • SQLITE3_NULL: 값이 NULL 값입니다.

PHP 7.0.7부터 type이 생략되면 var의 유형에서 자동으로 감지됩니다. bool과 int는 SQLITE3_INTEGER로, float는 SQLITE3_FLOAT로, null은 SQLITE3_NULL로, 나머지는 모두 SQLITE3_TEXT로 처리됩니다. 이전에는 type이 생략된 경우 기본적으로 SQLITE3_TEXT로 설정되었습니다.

메모: varnull이면 주어진 type에 관계없이 항상 SQLITE3_NULL로 처리됩니다.


반환 값

매개변수가 명령문 변수에 바인딩되어 있으면 true를 반환하고 실패하면 false를 반환합니다.


변경 로그

버전 설명
7.4.0 param은 이제 @param 표기법도 지원합니다.

Examples

예제 #1 SQLite3Stmt::bindParam() 사용법

이 예는 단일 매개변수 바인딩이 있는 단일 준비된 명령문을 사용하여 다른 값을 가진 여러 행을 삽입하는 방법을 보여줍니다.

                  
<?php
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE foo (bar TEXT)");

$stmt = $db->prepare("INSERT INTO foo VALUES (:bar)");
$stmt->bindParam(':bar', $bar, SQLITE3_TEXT);

$bar = 'baz';
$stmt->execute();

$bar = 42;
$stmt->execute();

$res = $db->query("SELECT * FROM foo");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
    var_dump($row);
}
?>
                  
                

위의 예는 다음을 출력합니다.

array(1) {
  ["bar"]=>
  string(3) "baz"
}
array(1) {
  ["bar"]=>
  string(2) "42"
}
                

기타