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

mysqli_result::fetch_assoc

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

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

Референца за `mysqli-result.fetch-assoc.php` со подобрена типографија и навигација.

mysqli-result.fetch-assoc.php

mysqli_result::fetch_assoc

mysqli_fetch_assoc

класата mysqli_driver

mysqli_result::fetch_assoc -- mysqli_fetch_assocFetch the next row of a result set as an associative array

= NULL

Напиши целосна ознака на елемент

public mysqli_result::fetch_assoc(): array|null|false

Процедурален стил

mysqli_fetch_assoc(mysqli_result $result): array|null|false

Преземи го следниот ред од множеството резултати како асоцијативно поле null ако нема повеќе редови.

Презема еден ред податоци од множеството резултати и го враќа како објект, каде што секој атрибут го претставува името на колоната од множеството резултати. Секое последователно повикување на оваа функција ќе го врати следниот ред во множеството резултати, или mysqli_fetch_row() Ако две или повеќе колони од резултатот имаат исто име, последната колона ќе има предност и ќе ги презапише сите претходни податоци. За пристап до повеќе колони со исто име,

Забелешка: Имињата на полињата вратени од оваа функција се case-sensitive.

Забелешка: Оваа функција ги поставува NULL полињата на PHP null value.

Параметри

result

објектот како свој прв аргумент. mysqli_result Само процедурален стил: А mysqli_query(), mysqli_store_result(), mysqli_use_result() or mysqli_stmt_get_result().

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

Презема еден ред податоци од множеството резултати и го враќа како асоцијативно поле. Секој последователен повик на оваа функција ќе го врати следниот ред во множеството резултати, или null Враќа објект што го претставува преземениот ред, каде што секој атрибут го претставува името на колоната од множеството резултати, false при неуспех.

Примери

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

Напиши целосна ознака на елемент

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Процедурален стил

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

mysqli_result::fetch_object()

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

mysqli_result::fetch_assoc() mysqli_result iterator and Враќа асоцијативно поле што го претставува преземениот ред, каде што секој клуч во полето ја претставува името на една од колоните на множеството резултати, usage

mysqli_result Пример #2 Споредба на foreachможе да се итерира со помош на

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = 'SELECT Name, CountryCode FROM City ORDER BY ID DESC';

// Using iterators
$result = $mysqli->query($query);
foreach (
$result as $row) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

echo
"\n==================\n";

// Not using iterators
$result = $mysqli->query($query);
while (
$row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

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

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

==================
Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

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

  • mysqli_fetch_array() - Преземи го следниот ред од множеството резултати како асоцијативна, нумеричка низа, или и двете
  • mysqli_fetch_column() - Преземи еден столб од следниот ред од множеството резултати
  • mysqli_fetch_row() - Преземи го следниот ред од множеството резултати како нумеричка низа
  • mysqli_fetch_object() . Множеството резултати секогаш ќе се итерира од првиот ред, без оглед на тековната позиција.
  • mysqli_query() - Извршува прашање на базата на податоци
  • mysqli_data_seek() - Го прилагодува покажувачот на резултатот на произволен ред во резултатот

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

Милер
12 години пред
I often like to have my results sent elsewhere in the format of an array (although keep in mind that if you just plan on traversing through the array in another part of the script, this extra step is just a waste of time).

This is my one-liner for transforming a mysqli_result set into an array.
<?php
$sql = new MySQLi($host, $username, $password, $database);

$result = $sql->query("SELECT * FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row);
print_r($set);
?>

Outputs:
Array
(
    [0] => Array
        (
            [id] => 1
            [field2] => a
            [field3] => b
        ),
    [1] => Array
        (
            [id] => 2
            [field2] => c
            [field3] => d
        )
)

I use other variations to adapt to the situation, i.e. if I am selecting only one field:
<?php
$sql = new MySQLi($host, $username, $password, $database);
$result = $sql->query("SELECT `field2` FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row['field2']);
print_r($set);
?>
Outputs:
Array
(
    [0] => a
    [1] => c
)

Or, to make the array associative with the primary index (code assumes primary index is the first field in the table):
<?php
$sql = new MySQLi($host, $username, $password, $database);
$result = $sql->query("SELECT * FROM `$table`;");
for ($set = array (); $row = $result->fetch_assoc(); $set[array_shift($row)] = $row);
print_r($set);
?>
Outputs:
Array
(
    [1] => Array
        (
            [field2] => a
            [field3] => b
        ),
    [2] => Array
        (
            [field2] => c
            [field3] => d
        )
)
- Преземи го следниот ред од множеството резултати како објект
пред 14 години
IMPORTANT NOTE:

If you were used to using code like this:

<?php
while(false !== ($row = mysql_fetch_assoc($result)))
{
    //...
}
?>

You must change it to this for mysqli:

<?php
while(null !== ($row = mysqli_fetch_assoc($result)))
{
    //...
}
?>

The former will cause your script to run until max_execution_time is reached.
james dot phx at gmail dot com
пред 2 години
There is a difference between MariaDB and MySQL(>5.4) whether the input parameter (mysqli object) has data or is empty (it comes from a previus query).
-MariaDB:  you get an exception:
Fatal error: Uncaught TypeError: mysqli_fetch_assoc(): Argument #1 ($result) must be of type mysqli_result
-MySQL: you can continue, in spite of not having data in the mysqli object.
На оваа страница

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

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

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

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

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