Vous êtes ici Codes PHP et MySQL > MySQL > Importer un fichier .sql dans une base MySQL

 

Importer un fichier .sql dans une base MySQL

Vous pourriez avoir besoin d'une fonction pour importer un fichier entier .sql dans votre base de données MySQL. Cette fonction devrait vous y aider.
 
nixos777
Code vu 7017 fois
Enregistré le 21 Avril 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Importer un fichier .sql dans une base MySQL
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Importer un fichier .sql dans une base MySQL              */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts373-PHP.htm              */
/* Auteur         : nixos777                                                  */
/* Date édition   : 21 Avril 2008                                             */
/*                                                                            */
/******************************************************************************/


function mysql_import_file($filename, &$errmsg) 
{ 
   // lecture du fichier
   $lines file($filename); 

   if(!$lines)  {
      $errmsg "cannot open file $filename"; 
      return false; 
   } 

   $scriptfile false; 

   /* Get rid of the comments and form one jumbo line */ 
   foreach($lines as $line)   {
      $line trim($line); 

      if(!ereg('^--'$line)) {
         $scriptfile.=" ".$line; 
      } 
   } 

   if(!$scriptfile) {
      $errmsg "no text found in $filename"; 
      return false; 
   } 

   /* Split the jumbo line into smaller lines */ 

   $queries explode(';'$scriptfile); 

   /* Run each line as a query */

   foreach($queries as $query) {
      $query trim($query); 
      if($query == "") { continue; } 
      if(!mysql_query($query.';')) 
      { 
         $errmsg "query ".$query." failed"; 
         return false; 
      } 
   } 

   // retour true si la fonction reussie ^^
   return true; 
} 

 

Fonctions du code

: Lit le fichier et renvoie le résultat dans un tableau - (PHP 4, PHP 5)
: - (PHP 4, PHP 5)
: Expression rationnelle standard - (PHP 4, PHP 5)
: Coupe une chaîne en segments - (PHP 4, PHP 5)
: Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
Commentaires
Ya une belle boulette quand meme dans le script.... tu en fait quoi des trigger , procedure, fonction .... qui traine dans les fichiers ? ils comportent des ; qui ne doivent pas sortir de leur contexte (je parle des begin/end)
 
Il y a aussi un problème si certains champs contiennent des ;
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

MySQL

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité