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

mysqli_stmt::send_long_data

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

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

Референца за `mysqli-stmt.send-long-data.php` со подобрена типографија и навигација.

mysqli-stmt.send-long-data.php

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

класата mysqli_driver

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_dataИспраќа податоци во блокови

= NULL

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

public mysqli_stmt::send_long_data(int $param_num, string $data): bool

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

mysqli_stmt_send_long_data(mysqli_stmt $statement, int $param_num, string $data): bool

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packetОвозможува испраќање податоци од параметри до серверот во парчиња (или делови), на пр. ако големината на блоб надминува големина.

Параметри

statement

објектот како свој прв аргумент. mysqli_stmt Само процедурален стил: А mysqli_stmt_init().

param_num

Го означува параметарот со кој треба да се поврзат податоците. Параметрите се нумерирани почнувајќи од 0.

data

Низа што содржи податоци што треба да се испратат.

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

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Примери

Пример #1 Обектно-ориентиран стил

<?php
$stmt
= $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!
feof($fp)) {
$stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

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

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

ChrisH
пред 6 години
If you are trying to write a single field which is above max_allowed_packet then this function will not help you (contrary to what the documentation example seems to show above).

Parameters in MySQL are still restricted by max_allowed_packet on a per-field basis so you will get an error like:

“mysqli_sql_exception: Parameter of prepared statement which is set through mysql_send_long_data() is longer than 'max_long_data_size' bytes”

The only real use case for this function seems to be if you are writing multiple long fields which when combined would go over max_allowed_packet.
Gustavo Narea
19 години пред
Just in case:

'max_allowed_packet' is a MySQL variable; it is not a PHP function/variable/constant.

Further info: http://dev.mysql.com/doc/refman/4.1/en/packet-too-large.html

HTH.
DimeCadmium
пред 5 години
To ChrisH's note, you must call this function multiple times with the same $param_nr, to send the first max_allowed_packet bytes, then the next, and so on. So you might need to do a for loop over changing substr() indexes, or etc.
На оваа страница

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

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

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

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

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