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

PDOStatement::setFetchMode

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

pdostatement.setfetchmode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека pdostatement.setfetchmode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
PDOStatement::setFetchMode

Референца за `pdostatement.setfetchmode.php` со подобрена типографија и навигација.

pdostatement.setfetchmode.php

PDOStatement::setFetchMode

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::setFetchMode (PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

= NULL

public function PDOStatement::setFetchMode(int $mode): true
public function PDOStatement::setFetchMode(int $mode = PDO::FETCH_DEFAULT, int $colno): true
public function PDOStatement::setFetchMode(int $mode = PDO::FETCH_COLUMN, string $class, ?array $constructorArgs = null): true
public function PDOStatement::setFetchMode(int $mode = PDO::FETCH_FUNC, object $object): true

Параметри

mode
Поставете го стандардниот режим на преземање за оваа изјава PDO::FETCH_* constants.
colno
Режимот на преземање мора да биде еден од
class
Број на колона.
constructorArgs
Име на класа.
object
Object.

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

Секогаш враќа true.

Дневник на промени

Верзија = NULL
8.4.0 Типот на враќање е true сега; претходно, беше bool.

Примери

Аргументи на конструкторот.

Пример #1 Поставување на режимот на преземање Следниот пример покажува како PDOStatement::setFetchMode()

<?php
$stmt = $dbh->query('SELECT name, colour, calories FROM fruit');
$stmt->setFetchMode(PDO::FETCH_NUM);
foreach ($stmt as $row) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
}

Горниот пример ќе прикаже нешто слично на:

apple   red     150
banana  yellow  250
orange  orange  300
kiwi    brown   75
lemon   yellow  25
pear    green   150

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

го менува стандардниот режим на преземање за PDOStatement објект.
пред 15 години
if you want to fetch your result into a class (by using PDO::FETCH_CLASS) and want the constructor to be executed *before* PDO assings the object properties, you need to use the PDO::FETCH_PROPS_LATE constant:

<?php
$stmt = $pdo->prepare("your query");

$stmt->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, "className", $constructorArguments);

# pass parameters, if required by the query
$stmt->execute($parameters);

foreach ($stmt as $row)
{
    // do something with (each of) your object
}
?>
Dormilich at netscape dot net
пред 8 години
Something very helpful is knowing how to access namespaces from the function. It took me a minute (and Google) to figure out. The ::class property is going to be your best friend in this case.

<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, Name\Space\Class::class);
?>
stein_AT_rhrk.uni-kl.de
пред 18 години
Some note on PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE

It took me some time, to realize, that you can not use this fetch-mode in $stm->setFetchMode(), when you want to retrieve objects from the database whereas the type is defined by the first column in the resultset.
You have to define this mode directly in the $stm->fetch() method.

To make it clearer:

$stm = $pdo->query("SELECT * FROM `foo`);
$stm->setFetchMode(FETCH_CLASS | PDO :: FETCH_CLASSTYPE);

$object = $stm->fetch();

Will not return the expected object, whereas

$stm = $pdo->query("SELECT * FROM `foo`");

$object = $stm->fetch(FETCH_CLASS | PDO :: FETCH_CLASSTYPE);

will give you the object of the class, defined in the first column of `foo`.
На оваа страница

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

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

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

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

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