PHP.mk документација

db2_bind_param

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.db2-bind-param.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.db2-bind-param.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
db2_bind_param

Референца за `function.db2-bind-param.php` со подобрена типографија и навигација.

function.db2-bind-param.php

db2_bind_param

("PECL ibm_db2" >= 1.0.0)

db2_bind_param Врзува PHP променлива со параметар на SQL израз

= NULL

function db2_bind_param(
         resource $stmt,
         int $parameter_number,
         string $variable_name,
         int $parameter_type = DB2_PARAM_IN,
         int $data_type = 0,
         int $precision = -1,
         int $scale = 0
): bool

Ги врзува PHP променливите со параметар на SQL израз db2_prepare()Ги врзува PHP променливите со параметар на SQL израз во ресурс на израз вратен од db2_execute().

Параметри

stmt
Подготвена изјава вратена од db2_prepare().
parameter_number
. Оваа функција ви дава поголема контрола врз типот на параметарот, типот на податоците, прецизноста и скалата за параметарот отколку што едноставно поминувате променлива како дел од опционалниот влезен низ до
variable_name
Ја специфицира 1-индексираната позиција на параметарот во подготвениот израз. parameter_number.
parameter_type
Низа што специфицира име на PHP променлива што треба да се врзе за параметарот специфициран одDB2_PARAM_INКонстанта што специфицира дали PHP променливата треба да се врзе за SQL параметарот како влезен параметар (DB2_PARAM_OUT), излезен параметар (DB2_PARAM_INOUT), или како параметар што прифаќа влез и враќа излез ( DB2_PARAM_FILE ). За да избегнете трошење меморија, можете исто така да специфицирате
data_type
за да ја врзете PHP променливата со името на датотека што содржи податоци за големи објекти (BLOB, CLOB или DBCLOB). DB2_BINARY, DB2_CHAR, DB2_DOUBLE, или DB2_LONG .
precision
Константа што специфицира како SQL тип на податоци треба да се врзе PHP променливата: една од
scale
Ја специфицира прецизноста со која променливата треба да се врзе за базата на податоци. Овој параметар исто така може да се користи за добивање излезни XML вредности од процедури за складирање. Негативна вредност специфицира максимална големина на XML податоците што ќе бидат добиени од базата на податоци. Ако овој параметар не се користи, ќе се претпостави стандардна вредност од 1MB за добивање на излезната XML вредност од процедурата за складирање.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Примери

Ја специфицира скалата со која променливата треба да се врзе за базата на податоци.

Пример #1 Врзување PHP променливи со подготвен израз db2_bind_param() SQL изразот во следниот пример користи два влезни параметри во WHERE клаузулата. Ние повикуваме db2_bind_param()за да ги врземе двете PHP променливи со соодветните SQL параметри. Забележете дека PHP променливите не мора да бидат декларирани или доделени пред повикот до $lower_limit ; во примерот, db2_bind_param(), но $upper_limit се доделува вредност пред повикот до db2_bind_param(), db2_execute().

<?php

$sql
= 'SELECT name, breed, weight FROM animals
WHERE weight > ? AND weight < ?'
;
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (
db2_execute($stmt)) {
while (
$row = db2_fetch_array($stmt)) {
print
"{$row[0]}, {$row[1]}, {$row[2]}\n";
}
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Пример #2 Повикување на процедури со IN и OUT параметри

Процедурата match_animal во следниот пример прифаќа три различни параметри:

  1. Пример #2 Повикување на процедури за складирање со IN и OUT параметри
  2. Процедурата за складирање match_animal во следниот пример прифаќа три различни параметри: TRUE параметар за влез (IN) што прифаќа име на првото животно како влез
  3. параметар за влез-излез (INOUT) што прифаќа име на второто животно како влез и враќа стринг
ако животно во базата на податоци одговара на тоа име
<?php

$sql
= 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print
"Values of bound parameters _before_ CALL:\n";
print
" 1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (
db2_execute($stmt)) {
print
"Values of bound parameters _after_ CALL:\n";
print
" 1: {$name} 2: {$second_name} 3: {$weight}\n\n";

print
"Results:\n";
while (
$row = db2_fetch_array($stmt)) {
print
" {$row[0]}, {$row[1]}, {$row[2]}\n";
}
}
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

параметар за излез (OUT) што враќа збир на тежината на двете идентификувани животни

Дополнително, процедурата за складирање враќа сет на резултати што се состои од животните наведени по азбучен ред, почнувајќи од животното што одговара на влезната вредност на првиот параметар и завршувајќи со животното што одговара на влезната вредност на вториот параметар.

<?php
$stmt
= db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Види Исто така

  • db2_execute() - Извршува подготвена SQL изјава
  • db2_prepare() - Подготвува SQL изјава за извршување

Белешки од корисници 1 белешка

Пример #3 Вметнување бинарен голем објект (BLOB) директно од датотека
пред 4 години
Important when using classes:
You must call db2_execute() in the same scope as where you define / set / bind the variables.
For example:

<?php
class DB2Class {
    public $conn;
    private $usr = 'user';
    private $pss = 'password';
    private $cat = 'catalog';
    public function db2_conn(){
        $conn = db2_connect($this->cat,$this->usr,$this->pss);
        if(!$conn)
            throw new Exception(db2_conn_errormsg());
        $this->conn = $conn;
    }
    public function db2_prep($sql){
        if(!$stmt = db2_prepare($this->conn, $sql)){
            throw new Exception($sql . " " . db2_stmt_errormsg());
            return false;
        }
        return $stmt;
    }
    public function db2_exec($stmt){
        if(!db2_execute($stmt))
            throw new Exception(db2_stmt_errormsg($stmt));
    }
}

/* This will NOT work */
function bindtest(){
    try {
        $db2 = new DB2Class;
        $db2->db2_conn();
        $stmt = $db2->db2_prep("SELECT * FROM TABLE WHERE FIELD = ?");
        $field = 'value';
        db2_bind_param($stmt, 1, "field", DB2_PARAM_IN);
        $db2->db2_exec($stmt);        // Results in Unbound Variable Error
        while($row = db2_fetch_assoc($stmt))
            var_dump($row);
    } catch(Exception $e) {
        error_log( $e->getMessage () );
    }
}

/* This will work */
function bindtest(){
    try {
        $db2 = new DB2Class;
        $db2->db2_conn();
        $stmt = $db2->db2_prep("SELECT * FROM TABLE WHERE FIELD = ?");
        $field = 'value';
        db2_bind_param($stmt, 1, "field", DB2_PARAM_IN);
        if(!db2_execute($stmt))
            throw new Exception(db2_stmt_errormsg($stmt));
        while($row = db2_fetch_assoc($stmt))
            var_dump($row);
    } catch(Exception $e) {
        error_log( $e->getMessage () );
    }
}

?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.