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.
mysqli_stmt::send_long_data
mysqli_stmt_send_long_data
(PHP 5)
mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Envoie des données MySQL par paquets
Description
Style orienté objet
$param_nr
, string $data
)Style procédural
Envoie les données au serveur par paquets, si la taille des données excède la limite de max_allowed_packet. Cette fonction peut être appelée plusieurs fois pour envoyer les données textes ou binaires de champs comme les BLOB ou TEXT.
Liste de paramètres
-
stmt -
Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().
-
param_nr -
Indique quel paramètre doit être associé avec quelles données. Les paramètres sont numérotés à partir de 0.
-
data -
Une chaîne de caractères contenant les données à envoyer.
Valeurs de retour
Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient.
Exemples
Exemple #1 Style orienté objet
<?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(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>
Voir aussi
- mysqli_prepare() - Prépare une requête SQL pour l'exécution
- mysqli_stmt_bind_param() - Lie des variables à une requête MySQL
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.
