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

db2_fetch_row

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

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

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

function.db2-fetch-row.php

db2_fetch_row

("PECL ibm_db2" >= 1.0.0)

db2_fetch_row Го поставува покажувачот на множеството резултати на следниот ред или бараниот ред

= NULL

function db2_fetch_row(resource $stmt, int $row_number = -1): bool

од PHP 8.0.0. Силно се обесхрабрува потпирањето на оваа функција. db2_fetch_row() Го поставува покажувачот на множеството резултати на следниот ред или бараниот ред

за да се помине низ множеството резултати, или да се посочи на одреден ред во множеството резултати ако сте побарале курсор што може да се скрола. db2_result() function.

За да се добијат индивидуални полиња од множеството резултати, повикајте го db2_fetch_row() and db2_result(), повеќето апликации ќе повикаат една од db2_fetch_assoc(), db2_fetch_both(), или db2_fetch_array() за да го поместите покажувачот на множеството резултати и да вратите целосен ред како низа.

Параметри

stmt
Валиден stmt resource.
row_number
Со курсори што може да се скролаат, можете да побарате специфичен број на ред во множеството резултати. Броевите на редовите се индексирани од 1.

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

Патеката до PHP скриптата што треба да се провери. true ако бараниот ред постои во множеството резултати. Враќа false ако бараниот ред не постои во множеството резултати.

Примери

Пример #1 Поминување низ множество резултати

ако полето не постои и издава предупредување. db2_fetch_row() Следниот пример покажува како да се помине низ множество резултати со db2_result().

<?php
$sql
= 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (
db2_fetch_row($stmt)) {
$name = db2_result($stmt, 0);
$breed = db2_result($stmt, 1);
print
"$name $breed";
}
?>

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

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Пример #2 Препорачани алтернативи за i5/OS на db2_fetch_row/db2_result

На i5/OS се препорачува да користите db2_fetch_both(), db2_fetch_array(), или db2_fetch_object() over db2_fetch_row()/db2_result(). Генерално db2_fetch_row()/db2_result() имаат повеќе проблеми со различни типови на колони во EBCDIC to ASCII превод, вклучувајќи можно скратување во DBCS апликации. Можеби ќе ја најдете и перформансата на db2_fetch_both(), db2_fetch_array()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во db2_fetch_object() да биде супериорна во однос на db2_fetch_row()/db2_result().

<?php
$conn
= db2_connect("","","");
$sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while (
$row = db2_fetch_both($stmt)){
echo
"<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while (
$row = db2_fetch_array($stmt)){
echo
"<br>db2_fetch_array {$row[1]} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while (
$row = db2_fetch_object($stmt)){
echo
"<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
}
db2_close($conn);
?>

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

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

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

  • db2_fetch_array() - Враќа низа, индексирана по позиција на колона, што претставува ред во сет на резултати
  • db2_fetch_assoc() - Враќа низа, индексирана по име на колона, што претставува ред во сет на резултати
  • db2_fetch_both() - Враќа низа, индексирана по име и позиција на колона, што претставува ред во сет на резултати
  • db2_fetch_object() - Враќа објект со својства што претставуваат колони во добиениот ред
  • db2_result() - Враќа една колона од ред во сет на резултати

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

- Додава нов потомок пред референтен јазол
19 години пред
if the second parameter (the row number) is specified, your connection needs to have the CURSOR option set to DB2_SCROLLABLE. Otherwise all calls to this function will fail. Internal to the ibm_db2 extension module the db2cli api function SQLFetchScroll() generates the error "CLI0145E  Fetch type out of range" since it requires a scrollable resultset to work, instead of the default forward only resultset.

hope this saves someone the time it took me to track this down in the db2cli traces.

Regards,
Kris Dover
davidm на marketo точка com
20 години пред
If the second parameter is 0 or NULL (which eventually evaluates to 0) then the internal pointer is moved forward. < 0 value will return an warning.
Навигација

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

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

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

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

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

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

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