Examples 3 and 4 should output 'Options Set Successfully.' This is because, only a single option's key/value is set incorrectly (other options are still correct), hence the function must return successfully. (Instead a PHP warning will most probably be issued).db2_set_option
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
db2_set_option
Референца за `function.db2-set-option.php` со подобрена типографија и навигација.
db2_set_option
("PECL ibm_db2" >= 1.0.0)
db2_set_option — Поставете опции за ресурси за конекција или изјава
= NULL
Поставете опции за ресурси за конекција или изјава
Параметри
resource- Поставува опции за ресурс од изјава или ресурс од конекција. Не можете да поставувате опции за ресурси од резултати. db2_prepare() Валиден ресурс од изјава како што е вратен од db2_connect() or db2_pconnect().
options-
или валиден ресурс од конекција како што е вратен од
autocommit-
Поминување
DB2_AUTOCOMMIT_ONАсоцијативен список што содржи валидни опции за изјава или конекција. Овој параметар може да се користи за промена на вредностите на авто-комит, типовите на курсори (скролабилни или напред) и за специфицирање на големината на буквите на имињата на колоните (мали, големи или природни) што ќе се појават во резултатот. ПоминувањеDB2_AUTOCOMMIT_OFFвклучува авто-комит за наведениот ресурс од конекција. cursor-
Поминување
DB2_FORWARD_ONLYисклучува авто-комит за наведениот ресурс од конекција. ПоминувањеDB2_SCROLLABLEспецифицира курсор само за напред за ресурс од изјава. Ова е стандардниот тип на курсор и е поддржан од сите серверски бази на податоци. binmode-
Поминување
DB2_BINARYспецифицира скролабилен курсор за ресурс од изјава. Скролабилните курсори овозможуваат пристап до редовите од резултатот по не-секвенцијален редослед, но се поддржани само од базите на податоци на IBM DB2 Universal Database.ibm_db2.binmode=1in php.ini. ПоминувањеDB2_CONVERTспецифицира дека бинарните податоци ќе бидат вратени како што се. Ова е стандардниот режим. Ова е еквивалентно на поставувањеibm_db2.binmode=2in php.ini. ПоминувањеDB2_PASSTHRUспецифицира дека бинарните податоци ќе бидат претворени во хексадецимално кодирање и ќе бидат вратени како такви. Ова е еквивалентно на поставувањеnullспецифицира дека бинарните податоци ќе бидат претворени воibm_db2.binmode=3in php.ini. db2_attr_case-
Поминување
DB2_CASE_LOWER. Ова е еквивалентно на поставување ПоминувањеDB2_CASE_UPPERспецифицира дека имињата на колоните од резултатот се враќаат со мали букви. ПоминувањеDB2_CASE_NATURALспецифицира дека имињата на колоните од резултатот се враќаат со големи букви. deferred_prepare-
Поминување
DB2_DEFERRED_PREPARE_ONспецифицира дека имињата на колоните од резултатот се враќаат во природна големина на букви. ПоминувањеDB2_DEFERRED_PREPARE_OFFвклучува одложено подготвување за наведениот ресурс од изјава.
исклучува одложено подготвување за наведениот ресурс од изјава.
i5_fetch_only-
DB2_I5_FETCH_ONСледниве нови опции за i5/OS се достапни во верзијата 1.5.1 и понова на ibm_db2. Овие опции се применуваат само кога се извршува PHP и ibm_db2 нативно на i5 системи.SQL_ATTR_FOR_FETCH_ONLYоколината е поставена наSQL_FALSE.DB2_I5_FETCH_OFF- Курсорите можат да се користат за позиционирани ажурирања и бришења.
Следниве нови опции се достапни во ibm_db2 верзија 1.8.0 и понови.
rowcount-
DB2_ROWCOUNT_PREFETCH_ON- Клиентот може да побара целосен број на редови пред да ги преземе, што значи дека db2_num_rows() го враќа бројот на избрани редови дури и когаROLLFORWARD_ONLYсе користи курсор.DB2_ROWCOUNT_PREFETCH_OFF- Клиентот не може да побара целосен број на редови пред да ги преземе.
Следниве нови опции се достапни во ibm_db2 верзија 1.7.0 и понови.
trusted_user- За да го префрлите корисникот на доверлив корисник, поминете го ID-то на корисникот (низа) на доверливиот корисник како вредност на овој клуч. Оваа опција може да се постави само на ресурс за поврзување. За да ја користите оваа опција, доверливиот контекст мора да биде овозможен на ресурсот за поврзување.
trusted_password- Лозинката (низа) што одговара на корисникот наведен во клучот trusted_user.
Следниве нови опции се достапни во ibm_db2 верзија 1.6.0 и понови. Овие опции обезбедуваат корисни информации за следење што може да се пристапат за време на извршување со db2_get_option().
Забелешка: Кога вредноста во секоја опција се поставува, некои сервери можеби нема да ја обработат целата обезбедена должина и може да ја скратат вредноста. За да се осигурате дека податоците наведени во секоја опција се претвораат правилно кога се пренесуваат до хост систем, користете само знаци од А до З, од 0 до 9 и долна црта (_) или точка (.).
userid-
SQL_ATTR_INFO_USERID- покажувач кон низа од знаци завршена со нула што се користи за идентификување на ID-то на корисникот на клиентот испратено до хост базата на податоци при користење на DB2 Connect.Забелешка: DB2 за z/OS и OS/390 серверите поддржуваат должина до 16 знаци. Овој кориснички ID не треба да се меша со корисничкиот ID за автентикација, тој е само за цели на идентификација и не се користи за никаква авторизација.
acctstr-
SQL_ATTR_INFO_ACCTSTR- покажувач кон низа од знаци завршена со нула што се користи за идентификување на низата за сметководство на клиентот испратена до хост базата на податоци при користење на DB2 Connect.Забелешка: DB2 за z/OS и OS/390 серверите поддржуваат должина до 200 знаци.
applname-
SQL_ATTR_INFO_APPLNAME- покажувач кон низа од знаци завршена со нула што се користи за идентификување на името на апликацијата на клиентот испратено до хост базата на податоци при користење на DB2 Connect.Забелешка: DB2 за z/OS и OS/390 серверите поддржуваат должина до 32 знаци.
wrkstnname-
SQL_ATTR_INFO_WRKSTNNAME- покажувач кон низа од знаци завршена со нула што се користи за идентификување на името на работната станица на клиентот испратено до хост базата на податоци при користење на DB2 Connect.Забелешка: DB2 за z/OS и OS/390 серверите поддржуваат должина до 18 знаци.
type-
Целобројна вредност што го специфицира типот на ресурсот што е предаден во функцијата. Типот на ресурсот и оваа вредност мора да се совпаѓаат.
Поминување
1бидејќи вредноста специфицира дека ресурс за конекција е предаден во функцијата. Предавање на кој било цел број различен од1бидејќи вредноста специфицира дека ресурс за изјава е предаден во функцијата.
Следната табела специфицира кои опции се компатибилни со достапните типови на ресурси:
| Можни индекси на низи за | Име (константа) | Тип на ресурс | ||
|---|---|---|---|---|
| Конекција | Изјава | Резултат сет | ||
| autocommit | DB2_AUTOCOMMIT_ON |
знаци во неалчен режим. | - | - |
| autocommit | DB2_AUTOCOMMIT_OFF |
знаци во неалчен режим. | - | - |
| cursor | DB2_SCROLLABLE |
- | знаци во неалчен режим. | - |
| cursor | DB2_FORWARD_ONLY |
- | знаци во неалчен режим. | - |
| binmode | DB2_BINARY |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| binmode | DB2_CONVERT |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| binmode | DB2_PASSTHRU |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| db2_attr_case | DB2_CASE_LOWER |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| db2_attr_case | DB2_CASE_UPPER |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| db2_attr_case | DB2_CASE_NATURAL |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| deferred_prepare | DB2_DEFERRED_PREPARE_ON |
- | знаци во неалчен режим. | - |
| deferred_prepare | DB2_DEFERRED_PREPARE_OFF |
- | знаци во неалчен режим. | - |
| i5_fetch_only | DB2_I5_FETCH_ON |
- | знаци во неалчен режим. | - |
| i5_fetch_only | DB2_I5_FETCH_OFF |
- | знаци во неалчен режим. | - |
| rowcount | DB2_ROWCOUNT_PREFETCH_ON |
- | знаци во неалчен режим. | - |
| rowcount | DB2_ROWCOUNT_PREFETCH_OFF |
- | знаци во неалчен режим. | - |
| trusted_user | <USER NAME> (String) |
знаци во неалчен режим. | - | - |
| trusted_password | <PASSWORD> (String) |
знаци во неалчен режим. | - | - |
| userid | SQL_ATTR_INFO_USERID |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| acctstr | SQL_ATTR_INFO_ACCTSTR |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| applname | SQL_ATTR_INFO_APPLNAME |
знаци во неалчен режим. | знаци во неалчен режим. | - |
| wrkstnname | SQL_ATTR_INFO_WRKSTNNAME |
знаци во неалчен режим. | знаци во неалчен режим. | - |
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Примери
Пример #1 Поставување еден параметар со ресурс за конекција
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);
/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Options Set Successfully
Пример #2 Поставување повеќе параметри со ресурс за конекција
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);
/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Options Set Successfully
Пример #3 Поставување повеќе параметри со неважечки клуч
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'MY_INVALID_KEY' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);
/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Could Not Set Options
Пример #4 Поставување повеќе параметри со неважечка вредност
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => 'INVALID_VALUE',
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);
/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Could Not Set Options
Пример #5 Поставување повеќе параметри со ресурс за конекција и погрешен тип
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);
/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Could Not Set Options
Пример #6 Поставување повеќе параметри со погрешен ресурс
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);
$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');
/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);
/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Could Not Set Options
Пример #7 Склопување на сето ова
<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';
/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";
/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');
/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
'cursor' => DB2_SCROLLABLE);
$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');
/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));
/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Array
(
[empno] => 000140
[firstnme] => HEATHER
[midinit] => A
[lastname] => NICHOLLS
[workdept] => C01
[phoneno] => 1793
[hiredate] => 1976-12-15
[job] => ANALYST
[edlevel] => 18
[sex] => F
[birthdate] => 1946-01-19
[salary] => 28420.00
[bonus] => 600.00
[comm] => 2274.00
)
Array
(
[empno] => 000130
[firstnme] => DELORES
[midinit] => M
[lastname] => QUINTANA
[workdept] => C01
[phoneno] => 4578
[hiredate] => 1971-07-28
[job] => ANALYST
[edlevel] => 16
[sex] => F
[birthdate] => 1925-09-15
[salary] => 23800.00
[bonus] => 500.00
[comm] => 1904.00
)
Пример #8 i5/OS курсорите се само за читање
<?php
$conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
$stmt = db2_prepare($conn, 'select * from names where first = ?');
$name = "first2";
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
$options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
db2_set_option($stmt,$options,0);
if (db2_execute($stmt)) {
while ($row = db2_fetch_array($stmt)) {
echo "{$row[0]} {$row[1]}";
}
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
first2 last2
Види Исто така
- db2_connect() - Враќа врска до база на податоци
- db2_pconnect() - Враќа постојана врска со база на податоци
- db2_exec() - Извршува SQL изјава директно
- db2_prepare() - Подготвува SQL изјава за извршување
- db2_cursor_type() - Враќа тип на курсор што се користи од ресурс на изјава