Bonjour,
J'ai encore une fois hesité pour poster ce message sur le bon forum (et comme d'hab j'ai du faire le mauvais choix donc désolé si il faut le deplacer )
Mon probleme est le suivant:
J'ai une page html qui contient un formulaire d'upload de fichier, derriere un script cgi qui gere l'upload et j'aimerais pouvoir executer le fichier sur le serveur ensuite. C'est un fichier *.sql qui contient des requetes a executer sur la base.
J'ai bien penser extraire les données du fichier pour ensuite effectuer la requete depuis le script perl mais un probleme ce pose avec les retours a la ligne (meme si je vire ces retours ca ne fonctionne pas!)
voila donc soit on peut m'aider avec l'execution du fichier sql soit on m'aide sur le probleme des requetes par le script .
dans le second cas je vous donne mon script et l'erreur
voici l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 open(SQLFILE, "<request.sql") || die "the SQL file was not found\n"; while(<SQLFILE>) { #if there is commentary we don't keep them if ($_ !~ /^--/) { my $tmp = $_; if ( $tmp =~ /\n/) { $tmp =~ tr/\n/ /; } $request_string .= $tmp ; } } close(SQLFILE); my $SQL_request = $dbh->prepare(qq{$request_string}); $SQL_request->execute;
et voici a quoi ressemble le fichier sql :DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; INSERT INTO `2008-05` VALUES ('PNMSSS008','MSS','passive',36.95,76.90,51.73,2' at line 1 at c:\\WEBSER~1\\cgi-bin\\nemip\\CAPACI~1\\add_sql.pl line 112.\n
merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE TABLE `2008-05` ( `Hostname` varchar(128) NOT NULL default '', `Type` varchar(128) NOT NULL default '', `State` varchar(7) NOT NULL default '', `AverageCPU` float(4) NOT NULL default '0', `BusyHourCPU` float(4) NOT NULL default '0', `AverageLoad` float(4) NOT NULL default '0', `BusyHourLoad` float(4) NOT NULL default '0', `AverageMemory` float(4) NOT NULL default '0', `BusyHourMemory` float(4) NOT NULL default '0', PRIMARY KEY (`Hostname`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `2008-05` VALUES ('XXXXXX008','XXX','passive',36.95,76.90,51.73,269.74,39.80,43.98); INSERT INTO `2008-05` VALUES ('XXXXXX009','XXX','active',7.14,14.44,8.83,16.20,27.13,27.54); ...
Partager