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