現在の位置: ホーム> 関数カテゴリ一覧> mysqli_stmt::send_long_data

mysqli_stmt::send_long_data

(mysqli_stmt_send_long_data)ブロック単位でデータを送信します
名前:mysqli_stmt::send_long_data
カテゴリ:mysqli
対応言語:php
一言説明:プリプロセシングステートメントのバインディングパラメーターに大量のデータを送信する

mysqli_stmt :: send_long_data()関数は、プリプロセシングステートメントのバインディングパラメーターに大量のデータを送信するために使用されます。これらのタイプのデータがメモリに多くのスペースを占有する可能性があるため、主にBLOBまたはテキストタイプのデータを送信するために使用されます。

構文:bool mysqli_stmt :: send_long_data(int $ param_nr、string $ data)

パラメーター:

  • $ param_nr:1から始まるパラメーターのインデックス番号。
  • $データ:送信されるデータ。

返品値:データが正常に送信された場合はtrueを返します。それ以外の場合はfalseを返します。

例:BLOBタイプのフィールド「Resume」を備えた「従業員」という名前のデータベーステーブルがあり、このフィールドに履歴書ファイルを保存する必要があります。

 // 连接数据库$mysqli = new mysqli("localhost", "username", "password", "database"); // 准备预处理语句$stmt = $mysqli->prepare("INSERT INTO employees (resume) VALUES (?)"); // 打开文件并读取数据$file = fopen("resume.pdf", "rb"); $data = fread($file, filesize("resume.pdf")); fclose($file); // 绑定参数并发送数据$stmt->bind_param("b", $resumeData); $resumeData = $data; $stmt->send_long_data(1, $resumeData); // 执行预处理语句$stmt->execute(); // 检查是否成功插入数据if ($stmt->affected_rows > 0) { echo "简历插入成功!"; } else { echo "插入失败!"; } // 关闭连接$stmt->close(); $mysqli->close();

上記の例では、最初に挿入する履歴書ファイルを開いて読み取り、次にデータをプリプロセシングステートメントのパラメーターにバインドします。次に、send_long_data()関数を使用して、データをサーバーに送信します。最後に、前処理ステートメントを実行し、データが正常に挿入されているかどうかを確認します。

send_long_data()関数は、bind_param()関数の後に呼び出され、execute()関数の前に呼び出される必要があることに注意してください。さらに、複数のパラメーターの大量のデータを送信する場合は、send_long_data()関数を複数回呼び出して、一度に1つのパラメーターのデータを送信できます。

類似の関数
人気記事(にんききじ)