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

mysqli::use_result

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

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

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

mysqli.use-result.php

mysqli::use_result

mysqli_use_result

класата mysqli_driver

mysqli::use_result -- mysqli_use_result(PHP 5, PHP 7, PHP 8)

= NULL

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

public mysqli::use_result(): mysqli_result|false

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

mysqli_use_result(mysqli $mysql): mysqli_result|false

Започни преземање на сет на резултати mysqli_real_query() Се користи за иницирање на преземање на сет на резултати од последниот извршен пребарување со помош на

функцијата на врската со базата на податоци. mysqli_store_result() Или ова или

Забелешка:

На mysqli_use_result() функцијата мора да се повика пред да може да се преземат резултатите од пребарувањето, и едната или другата мора да се повика за да се спречи следното пребарување на таа врска со базата на податоци да не успее. mysqli_data_seek() функцијата не пренесува цел сет на резултати од базата на податоци и затоа не може да се користи функции како mysqli_store_result()за да се префрлите на одреден ред во рамките на сетот. За да ја користите оваа функционалност, сетот на резултати мора да биде зачуван со користење mysqli_use_result() . Еден не треба да користи

Параметри

Оваа функција нема параметри.

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

ако се извршува многу обработка на клиентската страна, бидејќи ова ќе го врзе серверот и ќе спречи други нишки да ажурираат било кои табели од кои се преземаат податоците. false аргумент, или

Errors/Exceptions

Ако е овозможено известување за грешки на mysqli (MYSQLI_REPORT_ERROR) и бараната операција не успее, се генерира предупредување. Ако, дополнително, режимот е поставен на MYSQLI_REPORT_STRICT, а mysqli_sql_exception наместо тоа се фрла.

Примери

Пример #1 Враќа нетампониран објект со резултати или example

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

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
do {
/* store first result set */
if ($result = $mysqli->use_result()) {
while (
$row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}
/* print divider */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while (
$mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

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

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
do {
/* store first result set */
if ($result = mysqli_use_result($link)) {
while (
$row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* print divider */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (
mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Горните примери ќе дадат излез:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

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

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

Анонимен
пред 13 години
> One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched. 

Another way of understanding the "blocking" behavior of this "use_result" method is that by using this method (or the MYSQLI_USE_RESULT flag on the "query" method), if attempting to run a second query of any kind - updates, inserts, selects, or other - while still working with these first results, the second query will fail.  Checking mysqli->error, you should get a "Commands out of sync" error on the second query call.

However, if you use the "store_result" method (or the default MYSQLI_STORE_RESULT flag on the "query" method) instead, the second query will execute just fine.

Just to demonstrate this "blocking" behavior of this "use_result" method, the second query on line 7 below would otherwise fail if you instead used "use_result" on line 3:

<?php
$mysqli->real_query('SELECT * FROM `test`');
$query = $mysqli->store_result();
while ($row = $query->fetch_assoc()) {
    $id = (int) $row['id'];
    $query2 = $mysqli->query("UPDATE `test` SET `label` = md5(rand()) WHERE `id` = $id");
}
?>
На оваа страница

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

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

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

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

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