牛牛在线工具

mysqli_stmt::send_long_data()

收录 8868 个 PHP 函数,含用途说明与用法示例。

mysqli_stmt::send_long_data()

向预处理语句中的绑定参数发送大量数据

mysqli_stmt::send_long_data()函数用于向预处理语句中的绑定参数发送大量数据。它主要用于发送BLOB或TEXT类型的数据,因为这些类型的数据在内存中可能会占用大量空间。 语法: bool mysqli_stmt::send_long_data(int $param_nr, string $data) 参数: $param_nr:参数的索引号,从1开始。 $data:要发送的数据。 返回值: 如果成功发送数据,则返回true;否则返回false。 示例: 假设有一个名为"employees"的数据库表,其中有一个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()函数,每次发送一个参数的数据。