Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3289 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] No SQL query!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] No SQL query!

n°672922
Big-Foot
Posté le 13-03-2004 à 19:39:26  profilanswer
 

hello,
 
J'essay d'importer un fichier .sql avec phpmyadmin mais ca marche pas. Le fichier est correct, mais quand je lui dit de l'importer phpmyadmin m'ecrit "No SQL query!". Alors que c'est faux le fichier fait plus de 2mb !
J'ai cherché sur le net et j'ai trouvé plein de pages ou les gens explique qu'ils ont se meme probleme par contre il n'y a jamais de solution...
 
(je sais que c'est limite pour cette cat, mais bon)

mood
Publicité
Posté le 13-03-2004 à 19:39:26  profilanswer
 

n°672925
naceroth
Posté le 13-03-2004 à 19:43:09  profilanswer
 

HUm, t'as essayé en ne copiant que des parties du fichier ?

n°672931
Big-Foot
Posté le 13-03-2004 à 19:49:57  profilanswer
 

oui j'ai deja fait ca une fois (ca m'a pris 30min...) et ca a marché

n°673062
the real m​oins moins
Posté le 14-03-2004 à 00:59:00  profilanswer
 

Big-Foot a écrit :

Le fichier est correct, mais quand je lui dit de l'importer phpmyadmin m'ecrit "No SQL query!". Alors que c'est faux le fichier fait plus de 2mb !

euh le fait que le fichier fasse 2mb n'implique pas qu'il contienne des requetes sql [:itm]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°673071
Big-Foot
Posté le 14-03-2004 à 03:29:35  profilanswer
 

oh.. ok c'est vrai mais il en contient :)  
"CREATE DATABASE...."

n°673227
Big-Foot
Posté le 14-03-2004 à 15:42:48  profilanswer
 

alors vous avez pas une petite idée ? j'ai recherché sur le net mais à chaque fois que qq'un a ce probleme il ne trouve pas la solution :(

n°673230
the real m​oins moins
Posté le 14-03-2004 à 15:46:30  profilanswer
 

bah essaie de découper ton fichier en plusieurs morceaux pour essayer de trouver d'ou vient l'erreur.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°673251
Big-Foot
Posté le 14-03-2004 à 16:29:21  profilanswer
 

ce fichier a été generer avec phpmyadmin donc il devrais pas y avoir d'erreur nan ? J'ai ce probleme avec tout mes fichier .sql. Ca marche pas si je selectionne le fichier, par contre si je fait un copier/coller directement dans le forumlaire de phpmyadmin ca marche o_O (dans ce cas precis je ne peut pas faire de copier/coller vu la taille)

n°674661
Big-Foot
Posté le 15-03-2004 à 22:41:50  profilanswer
 

up

n°674885
Gat$
http://www.wowteamfinder.com
Posté le 16-03-2004 à 11:32:45  profilanswer
 

Si tu veux j'ai fais un script qui execute un fichier txt contenant du sql requete par requete, faudra jsute que tu change le max_execution_time ou un truc comme ca pour pas que le script s'arrete apres 30 seconde :/
attend je le recherche..


---------------
Recherche de partenaires pvp dans World of Warcraft :: http://www.wowteamfinder.com
mood
Publicité
Posté le 16-03-2004 à 11:32:45  profilanswer
 

n°674888
Gat$
http://www.wowteamfinder.com
Posté le 16-03-2004 à 11:36:20  profilanswer
 

C'est bourin comme script, mais ca marche.
 
J'mettais d'abord tout en memoire pour un prob techique dont je n'ai plus souvenance ;)
 
Enfin y a moye nde l'ameliorer très certainement.
 
A+
 

Code :
  1. <?php
  2. $filename = "sql.sql";
  3. $fp=fopen($filename, "r" );
  4. stream_set_blocking($fp,  0);
  5. //Mise en memoire des données à inserer
  6. echo 'Mise en mémoire des requetes : <br><br>';
  7. while(!feof($fp)) {
  8. $str_req .= fgets($fp, 16384);
  9. if(substr($str_req, strlen($str_req)-3, 1)==";" ) {
  10.  $memreq++;
  11.  $tab_req[count($tab_req)]=$str_req;
  12.  $str_req='';
  13.  if($memreq % 100 == 0 && $memreq!=0) {
  14.   echo "- ".$memreq." requêtes mises en memoire...<br>";
  15.   flush();
  16.   ob_flush();
  17.  }
  18. }
  19. }
  20. fclose($fp);
  21. //Enregistrement des données dans la db
  22. echo 'Execution des requetes : <br><br>';
  23. for($i=0; $i<count($tab_req); $i++) {
  24. if(mysql_query($tab_req[$i])) {
  25.  $cptreq++;
  26. }
  27. else {
  28.  $prob_req .= '- '.$str_req.'<br>';
  29. }
  30. if($cptreq % 100 == 0 && $cptreq!=0) {
  31.  echo "- ".$cptreq." requêtes éxécutées...<br>";
  32.  flush();
  33.  ob_flush();
  34. }
  35. }
  36. $tot_error = $memreq - $cptreq;
  37. echo '<br>----------------------------<br><br>';
  38. echo '<b>'.$cptreq.'</b> requêtes ont été éxécutées sur un total de <b>'.$cptread.' requêtes.</b><br>';
  39. echo 'Nombre d\'erreurs : <b>'.$tot_error.'</b>';
  40. echo '<br><br>Liste des reqûetes qui n\'ont pas pu etre executées : <br><br>'.$prob_req;
  41. ?>


 
Pas oublier de se conencter a la DB avant hein


Message édité par Gat$ le 16-03-2004 à 11:38:04

---------------
Recherche de partenaires pvp dans World of Warcraft :: http://www.wowteamfinder.com
n°676126
JerryZz
Follow the white Rabbit
Posté le 17-03-2004 à 13:51:33  profilanswer
 

tip top comme script ca :p
merci

n°676135
Sebastien
Posté le 17-03-2004 à 13:55:54  profilanswer
 

Ouais je pense que c le max execution time qui te fait chier.
Il faut decouper tes scripts
Un scripts pour les creations
Et plusieurs scripts pour les insertions
 
Le mieux est d'avoir un acces autre à mysql que phpmyadmin
Par exemple si tu peux etablir une connexion sur le serveur mysql (port 3306 par defaut)
Avec une machine ayant mysql-client, il te suffit de taper
mysql -h hote -u user -p database <ton_script.sql
Et la tu es sur de pas avoir de soucis

n°676537
Big-Foot
Posté le 17-03-2004 à 20:34:06  profilanswer
 

oki merci de vos reponses, gat$ je vais voir ton script si le reste  ne fonctionne pas ;)
Sebastien ton mysql-client c'est un truc web comme phpmysql non ? ca me donne une idée : est ce qu'il exise pas des soft (pas web) qui accederais à la bdd et pourrais y faire des query ?

n°676542
Big-Foot
Posté le 17-03-2004 à 20:41:22  profilanswer
 

ah au fait je vien de remarquer que ce que j'avais telecharger ce n'est pas "mysql-client" mais un mysql-client parmis tant d'autes :D

n°676569
naceroth
Posté le 17-03-2004 à 21:15:09  profilanswer
 

Big-Foot a écrit :

est ce qu'il exise pas des soft (pas web) qui accederais à la bdd et pourrais y faire des query ?


 
Oui. Il y a (eu) MySql Front (mais son dev a été stoppé je crois) et il y a MySqlCC

n°676651
Big-Foot
Posté le 17-03-2004 à 23:07:44  profilanswer
 

oki merci j'ai installé MySqlCC, par contre il a planté quand j'ai executé une grosse query, je vais réessayer ce weekend :)


Message édité par Big-Foot le 17-03-2004 à 23:08:04
n°676910
Sebastien
Posté le 18-03-2004 à 11:07:20  profilanswer
 

non quand je dis mysql-client c juste le truc en ligne de commande quand tu installes mysql :-)
Je dis mysql-client pour differencier avec mysql-server

n°681947
Big-Foot
Posté le 23-03-2004 à 21:33:36  profilanswer
 

MySqlCC plante lors de grandes requettes...
Par contre ton script gat$ à l'aire de bien fonctionner jusqu'à là ;) il dépasse donc mysql et mysqlCC :D

n°702251
Gat$
http://www.wowteamfinder.com
Posté le 18-04-2004 à 17:39:49  profilanswer
 

salut à tous :D
 
Bah j'avoue avoir fait ce script justement parce que MysqlCC faisait chier avec les grosses requêtes ou les gros fichiers .sql :/
 
rien de tel que de traiter le tout requetes par requetes, meme si ca prend plus de temps on s'en fou c'est pas nous qui bossons c'est notre gentille petite bestiole :D
 
Perso je ne comprend pas pourquoi mysqlcc n'offre pas la possibilité de s'y prendre comme je m'y prend c'est pourtant très simple. [:spamafote]
 
Content d'avoir rendi service :)  
A+


---------------
Recherche de partenaires pvp dans World of Warcraft :: http://www.wowteamfinder.com
n°703790
T509
$job-&gt;GetJob(now)
Posté le 20-04-2004 à 14:01:14  profilanswer
 

Salut,
 
J'ai également connu des problèmes avec les fichiers SQL de phpmyadmin.
Je suis passé par les fichiers CSV et voici le script que j'avais fait. (44000 lignes à charger dans la table, 2150 Ko) Cela a pris moins de 2 secondes)
 
en faisant une requête google sur ip-to-contry, vous devriez trouver facilement le fichier pour voir sa structure si vous voulez.
 

Code :
  1. require ("../connect_bdd.php" );
  2. $link = connect_bdd();
  3. $requete_creation_base = "
  4. CREATE TABLE liste_ip_pays (
  5. id INT(11) NOT NULL AUTO_INCREMENT,
  6. ip_start DOUBLE NOT NULL DEFAULT '0',
  7. ip_end DOUBLE NOT NULL DEFAULT '0',
  8. code_pays_2 CHAR(2) NOT NULL DEFAULT '',
  9. code_pays_3 CHAR(3) NOT NULL DEFAULT '',
  10. nom_pays VARCHAR(50) NOT NULL DEFAULT '',
  11. PRIMARY KEY (id)
  12. )";
  13. $requete_remplissage_table = "LOAD DATA LOCAL INFILE 'ip-to-country.csv' INTO TABLE `liste_ip_pays`
  14.    FIELDS TERMINATED BY ','
  15.    ENCLOSED BY '\"'
  16.    LINES TERMINATED BY '\r\n'
  17.    (`ip_start`, `ip_end`, `code_pays_2`, `code_pays_3`, `nom_pays`)";
  18. if (mysql_query ("DROP TABLE IF EXISTS `liste_ip_pays`;", $link)) echo "table effacée // ";
  19. if (mysql_query ($requete_creation_base, $link)) echo "table crée // ";
  20. mysql_query ($requete_remplissage_table, $link) or die ("erreur de chargement : " . mysql_error());
  21. echo "table remplie";
  22. mysql_close($link);


 
 
PS : le fichier CSV a été mis sur le serveur par FTP
 
a+


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] No SQL query!

 

Sujets relatifs
[SQL] Afficher Les "x" Plus grands IDs...MySQL script d'update pour manip sur un tinyblob
PHP/SQL > fichiers SQL ou access ?Maj d'une base SQL a aprtir d'un fichier excel
[SQL] UPDATE sous SQL Server[PHP/SQL] Principe du "qui est en ligne"
Pb de connexion a une base mysql...[PHP Mysql] probleme pour avoir la difference entre 2 dates.
Erreur MySQL[MySQL] Comment se connecter à distance à un serveur Apache / EasyPHP?
Plus de sujets relatifs à : [mysql] No SQL query!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR