« mysqli_stmt::result_metadata
mysqli_stmt::$sqlstate »

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 — データをブロックで送信する

説明

オブジェクト指向型

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

手続き型

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

パラメータのデータを、サーバーに分割して送信します。例えば blob のサイズが max_allowed_packet を越えてしまう場合などに使用します。 この関数は、カラムに文字やバイナリのデータを送信するために複数回 コールすることが可能です。そのカラムの型は TEXT あるいは BLOB である 必要があります。

パラメータ

stmt

手続き型のみ: mysqli_stmt_init() が返す mysqli_stmt オブジェクト。

param_num

データに関連付けるパラメータを示します。 パラメータの番号は 0 から始まります。

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();
?>

参考

関連キーワード:
stmt   mysqli   send   long   送信   param   ブロック   オブジェクト指向   手続き   カラム   prepare   messages   bind   metadata   sqlstate   statement   サーバー   分割   blob   allowed   packet   バイナリ   複数回   init   関連
関連する関数・ページ:
mysqli-stmt.close   mysqli-stmt.construct   mysqli-stmt.reset   mysqli-stmt.insert-id   mysqli.stmt-init   mysqli-stmt.field-count