mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_dataОтправка данных блоками

Описание

Объектно-ориентированный стиль

publicmysqli_stmt::send_long_data(int$param_num, string$data): bool

Процедурный стиль

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

Позволяет пересылать данные параметра на сервер частями (или чанками), например, когда размер большого объекта (blob) превышает max_allowed_packet. Эту функцию можно запускать многократно, чтобы переслать части символьных или двоичных данных столбца. Данные в столбце должны иметь тип TEXT или BLOB.

Список параметров

stmt

Только для процедурного стиля: объект mysqli_stmt, который вернула функция mysqli_stmt_init().

param_num

Указывает, с каким параметром связаны данные. Параметры нумеруются с нуля.

data

Строка, содержащая пересылаемые данные.

Возвращаемые значения

Возвращает 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();
?>

Смотрите также

  • mysqli_prepare() - Подготавливает SQL выражение к выполнению
  • mysqli_stmt_bind_param() - Привязка переменных к параметрам подготавливаемого запроса
To Top