English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 설명서

PHP mysqli_stmt_send_long_data() 함수 사용법 및 예제

PHP MySQLi 참조 가이드

mysqli_stmt_send_long_data() 함수는 데이터를 블록으로 전송합니다.

정의 및 사용법

테이블의 특정 열이 BLOB 유형의 TEXT라면 이mysqli_stmt_send_long_data()이 함수는 데이터를 블록으로 전송하여 해당 열에 데이터를 저장합니다.

이 함수를 사용하여 연결을 닫을 수 없습니다지속적인 연결

문법

mysqli_stmt_send_long_data($stmt);

파라미터

순번파라미터 및 설명
1

stmt(필수)

이는 준비된 문장 객체를 나타냅니다.

2

param_nr(필수)

이는 데이터를 연결할 필요한 매개변수를 나타내는 정수 값입니다.

3

data(필수)

이는 전송할 데이터를 나타내는 문자열 값입니다.

반환 값

PHP mysqli_stmt_send_long_data() 함수는 성공 시 boolean 값을 반환합니다true실패 시false

PHP 버전

이 함수는 PHP 버전5제공되고 모든 더 높은 버전에서 사용할 수 있습니다.

在线示例

다음 예제에서 설명됩니다mysqli_stmt_send_long_data()함수의 사용법(과정 지향적 스타일)-

输出结果

创建表
插入数据

执行完上述程序后,测试表的内容如下:

mysql> select * from test;
+---------------------+
| message             |
+---------------------+
| This is sample data |
+---------------------+
1 row in set (0.00 sec)

在线示例

在面向对象风格中,此函数的语法为$stmt-> send_long_data();。以下是面向对象风格中此函数的示例;

假设我们有一个名为foo.txt的文件,内容为“Hello how are you welcome to oldtoolbag.com”

 query("CREATE TABLE test(message BLOB)");
   print("创建表 \n");
   //使用预准备语句将值插入到表中
   $stmt = $con -> prepare("INSERT INTO test values(?)");
   //将值绑定到参数标记
   $txt = NULL;
   $stmt->bind_param("b", $txt);
   $fp = fopen("foo.txt", "r");
   while (!feof($fp)) {
      $stmt->send_long_data( 0, fread($fp, 8192));
   }
   print("插入数据");
   fclose($fp);
   //执行语句
   $stmt->execute();
   //结束语句
   $stmt->close();
   //关闭连接
   $con->close();
?>

输出结果

创建表
插入数据

执行完上述程序后,测试表的内容如下:

mysql> select * from test;
+---------------------------------------------+
| message                                     |
+---------------------------------------------+
| 안녕하세요, 잘 지내세요? 환영합니다 oldtoolbag.com |
+---------------------------------------------+
1 row in set (0.00 sec)

PHP MySQLi 참조 가이드