
mysqli_stmt::send_long_data 함수는 MySQL 쿼리에서 LONGDATA 타입의 데이터를 전송할 때 사용됩니다. 이 함수는 데이터의 크기가 1MB를 초과하는 경우에만 사용해야 합니다.
send_long_data 함수의 사용법은 다음과 같습니다.
- mysqli_stmt::send_long_data 함수는 stmt 객체의 메소드입니다. 따라서 stmt 객체를 먼저 생성해야 합니다.
- send_long_data 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 데이터의 인덱스입니다. LONGDATA 타입의 데이터는 여러 개가 있을 수 있으므로, 각 데이터의 인덱스를 지정해야 합니다.
- 두 번째 매개변수는 실제 데이터 자체입니다.
위의 예제는 올바른 방법인데, 몇 가지 조건이 있습니다.
- LONGDATA 타입의 데이터는 여러 개가 있을 수 있으므로, send_long_data 함수를 여러 번 호출해야 합니다.
- send_long_data 함수를 호출하기 전에, 데이터의 인덱스를 지정해야 합니다. 예를 들어, LONGDATA 타입의 데이터가 3개일 때, send_long_data 함수를 호출하기 전에, 데이터의 인덱스를 1, 2, 3으로 지정해야 합니다.
다음은 올바른 예제입니다.
php
$stmt = $mysqli->prepare("INSERT INTO 테이블명 (컬럼명) VALUES (?, ?, ?)");
$stmt->send_long_data(1, '긴 데이터 1');
$stmt->send_long_data(2, '긴 데이터 2');
$stmt->send_long_data(3, '긴 데이터 3');
$stmt->execute();
이 예제에서는 LONGDATA 타입의 데이터가 3개가 있으므로, send_long_data 함수를 3번 호출합니다. 데이터의 인덱스를 1, 2, 3으로 지정하고, 실제 데이터를 전송합니다.
2025-06-25 03:42