Je shouaite insérer dans une base de donées MySql des pièces jointes de
tous type (.doc, .pdf, .xls, .gif,.jpg)
Je pense savoir qu'il faut les encoder avant de pouvoir les insérer dans un
champs de type LONGBLOB.
J'ai toujour des erreur de syntax Mysql.
Voici la procedure que j'emploi.
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Emmanuel Florac
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
-- L'église est une secte qui a réussi. Ernest Renan.
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe
de cristal.
--
L'église est une secte qui a réussi.
Ernest Renan.
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
-- L'église est une secte qui a réussi. Ernest Renan.
Frantz Dorsemaine
Emmanuel Florac écrivait news::
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal puis
je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas
glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de
bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs
LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela
vien du contenu des données à insérer.)
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Frantz
espie
In article , Frantz Dorsemaine wrote:
Emmanuel Florac écrivait news::
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le message d'erreur que tu obtiens, tu peux continuer a crier dans le desert, on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta manip, est-ce que tu veux reellement de l'aide, ou juste pleurer que c'est trop dur ? ;-)
In article <XnF98E2BC695FC89frantzdorsemainefree@212.27.60.37>,
Frantz Dorsemaine <dorsemaine.frantz@free.fr> wrote:
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal puis
je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas
glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de
bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs
LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela
vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le
message d'erreur que tu obtiens, tu peux continuer a crier dans le desert,
on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta manip,
est-ce que tu veux reellement de l'aide, ou juste pleurer que c'est trop
dur ? ;-)
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le message d'erreur que tu obtiens, tu peux continuer a crier dans le desert, on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta manip, est-ce que tu veux reellement de l'aide, ou juste pleurer que c'est trop dur ? ;-)
Frantz Dorsemaine
Emmanuel Florac écrivait news::
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe
de cristal.
#Voici ma fonction d'encodage. sub EncodeDoc { $FichJoint="annuler.gif"; $zip=Archive::Zip->new(); $zip->addFile("$FichJoint"); my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc"); my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!"; my($mode) = sprintf "%04o", $stat & 07777; open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!"; binmode(F, ":encoding(iso-8859-1)");
my $buff; my $content;
while (read(F, $buff, 8 * 2**10)) { $content.=$buff; } close(F);
&SqlInsertPieceJointe($content); }
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal puis
je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas
glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de
bouloe
de cristal.
#Voici ma fonction d'encodage.
sub EncodeDoc {
$FichJoint="annuler.gif";
$zip=Archive::Zip->new();
$zip->addFile("$FichJoint");
my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc");
my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!";
my($mode) = sprintf "%04o", $stat & 07777;
open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!";
binmode(F, ":encoding(iso-8859-1)");
my $buff;
my $content;
while (read(F, $buff, 8 * 2**10)) {
$content.=$buff;
}
close(F);
&SqlInsertPieceJointe($content);
}
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe
(
Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr);
}
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe
de cristal.
#Voici ma fonction d'encodage. sub EncodeDoc { $FichJoint="annuler.gif"; $zip=Archive::Zip->new(); $zip->addFile("$FichJoint"); my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc"); my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!"; my($mode) = sprintf "%04o", $stat & 07777; open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!"; binmode(F, ":encoding(iso-8859-1)");
my $buff; my $content;
while (read(F, $buff, 8 * 2**10)) { $content.=$buff; } close(F);
&SqlInsertPieceJointe($content); }
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Frantz Dorsemaine
(Marc Espie) écrivait news:ersha6$1h6s$:
In article , Frantz Dorsemaine wrote:
Emmanuel Florac écrivait news::
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le message d'erreur que tu obtiens, tu peux continuer a crier dans le desert, on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta manip, est-ce que tu veux reellement de l'aide, ou juste pleurer que c'est trop dur ? ;-)
#Voici ma fonction d'encodage. sub EncodeDoc { $FichJoint="annuler.gif"; $zip=Archive::Zip->new(); $zip->addFile("$FichJoint"); my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc"); my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!"; my($mode) = sprintf "%04o", $stat & 07777; open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!"; binmode(F, ":encoding(iso-8859-1)");
my $buff; my $content;
while (read(F, $buff, 8 * 2**10)) { $content.=$buff; } close(F);
&SqlInsertPieceJointe($content); }
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par
"$zip=Archive::Zip->new();", puis je l'encode certainement mal
puis je
l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop
pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de
bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le
champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense
que cela vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le
message d'erreur que tu obtiens, tu peux continuer a crier dans le
desert, on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta
manip, est-ce que tu veux reellement de l'aide, ou juste pleurer que
c'est trop dur ? ;-)
#Voici ma fonction d'encodage.
sub EncodeDoc {
$FichJoint="annuler.gif";
$zip=Archive::Zip->new();
$zip->addFile("$FichJoint");
my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc");
my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!";
my($mode) = sprintf "%04o", $stat & 07777;
open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!";
binmode(F, ":encoding(iso-8859-1)");
my $buff;
my $content;
while (read(F, $buff, 8 * 2**10)) {
$content.=$buff;
}
close(F);
&SqlInsertPieceJointe($content);
}
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe
(
Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr);
}
Le Sun, 25 Feb 2007 16:28:45 +0000, Frantz Dorsemaine a écrit :
Je récupere le non du fichier puis je le zip par "$zip=Archive::Zip->new();", puis je l'encode certainement mal puis je l'insert, enfin j'essai ! dans la base de donnée. Et là, pas glop pas glop.
Il faut donner le message d'erreur complet et exact, on n'a pas de bouloe de cristal.
En fait mon erreur se situe au moment d'inserer les donnée dans le champs LONGBLOG, c'est interprété comme une erreur de syntax (je pense que cela vien du contenu des données à insérer.)
Et si tu ne nous donnes pas le fragment de code que tu utilises, ni le message d'erreur que tu obtiens, tu peux continuer a crier dans le desert, on ne risque pas de t'aider.
Il y a tellement de trucs differents qui peuvent merdoyer dans ta manip, est-ce que tu veux reellement de l'aide, ou juste pleurer que c'est trop dur ? ;-)
#Voici ma fonction d'encodage. sub EncodeDoc { $FichJoint="annuler.gif"; $zip=Archive::Zip->new(); $zip->addFile("$FichJoint"); my $fileEnc = "$FichJoint";
$zip->writeToFileNamed("$fileEnc"); my $stat = (stat $fileEnc)[2] or die "Couln't stat $fileIn: $!"; my($mode) = sprintf "%04o", $stat & 07777; open (F, "$fileEnc") ; #or die "Couldn't open $fileIn: $!"; binmode(F, ":encoding(iso-8859-1)");
my $buff; my $content;
while (read(F, $buff, 8 * 2**10)) { $content.=$buff; } close(F);
&SqlInsertPieceJointe($content); }
#Voici ma requete d'insertion qui me sort un message d'erreur de syntaxe.
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
espie
In article , Frantz Dorsemaine wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
In article <XnF98E2BE9A7882frantzdorsemainefree@212.27.60.37>,
Frantz Dorsemaine <dorsemaine.frantz@free.fr> wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe
(
Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr);
}
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des
placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)");
$st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes
avec parametres a la main. Il vaut mieux laisser faire $base->quote()
pour les valeurs, et $base->quote_identifier() pour les noms de table
et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en
a la possibilite.
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
Frantz Dorsemaine
(Marc Espie) écrivait news:ersjhq$1hui$:
In article , Frantz Dorsemaine wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test grandeur nature
In article <XnF98E2BE9A7882frantzdorsemainefree@212.27.60.37>,
Frantz Dorsemaine <dorsemaine.frantz@free.fr> wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe (
Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des
placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES
(?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des
requetes avec parametres a la main. Il vaut mieux laisser faire
$base->quote() pour les valeurs, et $base->quote_identifier() pour les
noms de table et assimiles... et en mieux, utiliser des placeholder
(le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test grandeur
nature
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test grandeur nature
Merci beaucoup.
Frantz DORSEMAINE
Frantz Dorsemaine
(Marc Espie) écrivait news:ersjhq$1hui$:
In article , Frantz Dorsemaine wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
Est-on limité par la taille des fichiers, de combien et comment détourné le probleme car voici un autre message d'erreur sur un fichier faisant 1846 ko
Voici le message : substr outside of string at c:/Perl/site/lib/Net/MySql.pm line 425.
In article <XnF98E2BE9A7882frantzdorsemainefree@212.27.60.37>,
Frantz Dorsemaine <dorsemaine.frantz@free.fr> wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe
(
Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr);
}
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des
placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES
(?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des
requetes avec parametres a la main. Il vaut mieux laisser faire
$base->quote() pour les valeurs, et $base->quote_identifier() pour les
noms de table et assimiles... et en mieux, utiliser des placeholder
(le ?) quand on en a la possibilite.
Est-on limité par la taille des fichiers, de combien et comment détourné le
probleme car voici un autre message d'erreur sur un fichier faisant 1846 ko
Voici le message : substr outside of string at
c:/Perl/site/lib/Net/MySql.pm line 425.
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
Est-on limité par la taille des fichiers, de combien et comment détourné le probleme car voici un autre message d'erreur sur un fichier faisant 1846 ko
Voici le message : substr outside of string at c:/Perl/site/lib/Net/MySql.pm line 425.
Frantz DORSEMAINE
Frantz Dorsemaine
Frantz Dorsemaine écrivait news::
(Marc Espie) écrivait news:ersjhq$1hui$:
In article , Frantz Dorsemaine wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test grandeur nature
Merci beaucoup.
Frantz DORSEMAINE
Est-on limité par la taille des fichiers, de combien et comment détourné le probleme car voici un autre message d'erreur sur un fichier faisant 1846 ko
Voici le message : substr outside of string at c:/Perl/site/lib/Net/MySql.pm line 425.
In article <XnF98E2BE9A7882frantzdorsemainefree@212.27.60.37>,
Frantz Dorsemaine <dorsemaine.frantz@free.fr> wrote:
sub SqlInsertPieceJointe {
my $Contenu=shift;
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe
( Contenu,
) VALUES (
'$Contenu'
)
");
$RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des
placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES
(?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des
requetes avec parametres a la main. Il vaut mieux laisser faire
$base->quote() pour les valeurs, et $base->quote_identifier() pour
les noms de table et assimiles... et en mieux, utiliser des
placeholder (le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test
grandeur nature
Merci beaucoup.
Frantz DORSEMAINE
Est-on limité par la taille des fichiers, de combien et comment détourné
le probleme car voici un autre message d'erreur sur un fichier faisant
1846 ko
Voici le message : substr outside of string at
c:/Perl/site/lib/Net/MySql.pm line 425.
my $RqtInsertPieceJointe=$Base->prepare("INSERT INTO tb_piece_jointe ( Contenu, ) VALUES ( '$Contenu' ) "); $RqtInsertPieceJointe->execute or die($DBI::errstr); }
Ouch, pas beau du tout ca. Deja, apprend a utiliser prepare avec des placeholders, ca va aider...
my $st = $base->prepare("INSERT INTO tb_piece_jointe (Contenu) VALUES (?)"); $st ->execute($Contenu) or die($DBI::errstr);
(et puis bon, je pense pas que la virgule en trop t'aide).
Note qu'en general, c'est toujours tres mauvais de construire des requetes avec parametres a la main. Il vaut mieux laisser faire $base->quote() pour les valeurs, et $base->quote_identifier() pour les noms de table et assimiles... et en mieux, utiliser des placeholder (le ?) quand on en a la possibilite.
D'apres les 1er test ca à l'aire d'aller beaucoup mieux. Je test grandeur nature
Merci beaucoup.
Frantz DORSEMAINE
Est-on limité par la taille des fichiers, de combien et comment détourné le probleme car voici un autre message d'erreur sur un fichier faisant 1846 ko
Voici le message : substr outside of string at c:/Perl/site/lib/Net/MySql.pm line 425.