mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt_send_long_data

(no version information, might be only in CVS)

stmt->send_long_data() -- データをブロックで送信する

説明

手続き型:

bool mysqli_stmt_send_long_data ( mysqli_stmt stmt, int param_nr, string data )

オブジェクト指向型(メソッド)

class mysqli_stmt {

bool send_long_data ( int param_nr, string data )

}

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

パラメータ

stmt

手続き型のみ: mysqli_stmt_init() が返すステートメント ID。

param_nr

データに関連付けるパラメータを示します。 パラメータの番号は 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();
?>

参考

mysqli_prepare()
mysqli_stmt_bind_param()