mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_dataSend data in blocks

Descrierea

Stil obiect-orientat

bool mysqli_stmt::send_long_data ( int $param_nr , string $data )

Stil procedural

bool mysqli_stmt_send_long_data ( mysqli_stmt $stmt , int $param_nr , string $data )

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packet. This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

Parametri

stmt

Numai stilul procedural: Un identificator al declarației întors de mysqli_stmt_init().

param_nr

Indicates which parameter to associate the data with. Parameters are numbered beginning with 0.

data

A string containing data to be sent.

Valorile întoarse

Întoarce valoarea TRUE în cazul succesului sau FALSE în cazul eșecului.

Exemple

Example #1 Stil obiect-orientat

<?php
$stmt 
$mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null NULL;
$stmt->bind_param("b"$null);
$fp fopen("messages.txt""r");
while (!
feof($fp)) {
    
$stmt->send_long_data(0fread($fp8192));
}
fclose($fp);
$stmt->execute();
?>

Vedeți de asemenea

add a note add a note

User Contributed Notes 2 notes

up
0
lussnig at smcc dot de
8 years ago
send_long_data() these function is normaly used to store Data in Binary blob field. But if the table is UTF8 and connection charset it does not expect binary data (for example images) it take utf8 Data.
This mean you have to do utf8_encode bevore sending binary data.
up
-1
Gustavo Narea
7 years ago
Just in case:

'max_allowed_packet' is a MySQL variable; it is not a PHP function/variable/constant.

Further info: http://dev.mysql.com/doc/refman/4.1/en/packet-too-large.html

HTH.
To Top