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

db2_prepare

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

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

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

function.db2-prepare.php

db2_prepare

("PECL ibm_db2" >= 1.0.0)

db2_prepare Подготвува SQL изјава за извршување

= NULL

function db2_prepare(resource $connection, string $statement, array $options = []): resource|false

db2_prepare() креира подготвена SQL изјава која може да вклучува 0 или повеќе ознаки за параметри (? знаци) што претставуваат параметри за влез, излез или влез/излез. Можете да поминете параметри до подготвената изјава користејќи db2_bind_param(), или само за влезни вредности, како низа предадена на db2_execute().

Постојат три главни предности за користење подготвени изјави во вашата апликација:

  • Оваа функција е достапна кога PHP е поврзан со библиотеки на Oracle Database од верзија 10: кога подготвувате изјава, серверот на базата на податоци креира оптимизиран план за пристап за добивање податоци со таа изјава. Последователното издавање на подготвената изјава со db2_execute() им овозможува на изјавите да го повторно користат тој план за пристап и ја избегнува тежината на динамично креирање нов план за пристап за секоја издадена изјава.
  • Безбедност: кога подготвувате изјава, можете да вклучите ознаки за параметри за влезни вредности. Кога извршувате подготвена изјава со влезни вредности за заменски знаци, серверот на базата на податоци ја проверува секоја влез вредност за да се увери дека типот одговара на дефиницијата на колоната или дефиницијата на параметарот.
  • Напредна функционалност: Ознаките за параметри не само што ви овозможуваат да поминувате влезни вредности до подготвени SQL изјави, туку исто така ви овозможуваат да добивате OUT и INOUT параметри од складирани процедури користејќи db2_bind_param().

Параметри

connection
Валидна база на податоци врска ресурс променлива како вратена од db2_connect() or db2_pconnect().
statement
SQL изјава, опционално содржи една или повеќе ознаки за параметри..
options
Асоцијативен список кој содржи опции за изразот. Можете да го користите овој параметар за да побарате курсор што може да се скрола на серверите на базите на податоци што ја поддржуваат оваа функционалност. За опис на валидни опции за изразот, видете db2_set_option().

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

Враќа ресурс за изјава ако SQL изјавата беше успешно анализирана и подготвена од серверот на базата на податоци. Враќа false ако серверот на базата на податоци врати грешка. Можете да утврдите која грешка беше вратена со повикување db2_stmt_error() or db2_stmt_errormsg().

Примери

Пример #1 Подготовка и извршување на SQL изјава со маркерски параметри

Следниот пример подготвува изјава INSERT што прифаќа четири маркерски параметри, а потоа итерира преку низа од низи што ги содржат влезните вредности што треба да се поминат до db2_execute().

<?php
$animals
= array(
array(
0, 'cat', 'Pook', 3.2),
array(
1, 'dog', 'Peaches', 12.3),
array(
2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
VALUES (?, ?, ?, ?)'
;
$stmt = db2_prepare($conn, $insert);
if (
$stmt) {
foreach (
$animals as $animal) {
$result = db2_execute($stmt, $animal);
}
}
?>

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

  • db2_bind_param() - Врзува PHP променлива со параметар на SQL изјава
  • db2_execute() - Извршува подготвена SQL изјава
  • db2_stmt_error() - Враќа стринг што го содржи SQLSTATE вратен од SQL изјава
  • db2_stmt_errormsg() - Враќа стринг што го содржи последниот текст за грешка на SQL изјавата

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

[email protected]
пред 9 години
A simple select example.
  
$pr_stmt = db2_prepare ($this->conn,"select count(*) from note where city=? and year= ?");
  db2_execute($pr_stmt,array('test',2016));
   $count_res = db2_fetch_array($pr_stmt);
echo "Count =".$count_res[0]
NormInNorman
пред 16 години
If you are having problems with scrollable cursors and the prepare statement, I've found that you cant set the scrollable option on the connection.  The following code (which tries to get the 2nd record):

<?php
$sql = "SELECT * FROM SCHEMA.TABLENAME";
$options = array('cursor' => DB2_SCROLLABLE);
$conn = db2_connect($database, $user, $password,$options);
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
$row = db2_fetch_both($stmt, 2);

$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql, $options);
$result = db2_execute($stmt);
$row = db2_fetch_both($stmt, 2);
?>

Will result in the following error:

Warning: db2_fetch_both() [function.db2-fetch-both]: Fetch Failure in dbtest.php on line 7

In fact, even if you set the options on both the connection and the prepare your fetch will not work. You must only set that option on the prepare.
[email protected]
19 години пред
if you have the error message : PHP Warning:  db2_prepare() [<a href='function.db2-prepare'>function.db2-prepare</a>]: Statement Prepare Failed in (....)
and cannot display the error message using db2_stmt_errormsg() , then check if your database connection handle is (still) valid
Навигација

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

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

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

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

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

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

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