Bonjour,

voici mon code, j'essaye de crée un script pour automatiser l'import et la creation de bd avec des fichier sql.
je me base donc sur ce sript.

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
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
 
/* Accepts a filename and imports the SQL script in it. 

   Returns: true if all is well 
            false if something is wrong 
            (error message is embedded in $errmsg) 

   One can also use mysql_error() if this function 
   returns an error. 

*/ 
 
function mysql_import_file($filename, &$errmsg) 
{ 
   /* Read the file */ 
   $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; 
      } 
   } 
 
   /* All is well */ 
   return true; 
} 
 
/* Installs a DB with a given name with the help of a given 
   .sql file 

   Returns: true if all is well 
       false if something is wrong 
            (error message is embedded in $errmsg) 

   One can also use mysql_error() if this function 
   returns an error. 

*/ 
 
function mysql_install_db($dbname, $dbsqlfile, &$errmsg) 
{ 
   $result = true; 
 
   if(!mysql_select_db($dbname)) 
   { 
     $result = mysql_query("CREATE DATABASE $dbname"); 
     if(!$result) 
     { 
        $errmsg = "could not create [$dbname] db in mysql"; 
        return false; 
     } 
     $result = mysql_select_db($dbname); 
   } 
 
   if(!$result) 
   { 
      $errmsg = "could not select [$dbname] database in mysql";
      return false; 
   } 
 
   $result = mysql_import_file($dbsqlfile, $errmsg); 
 
   return $result; 
} 
 
$link = mysql_connect ( "127.0.0.1", "root", "");  
 
if(mysql_install_db("toto", "02-06-2010_S1_fr_FR.sql", $errmsg))  
{  
   echo "Success!!";  
}else  
{  
  echo "failure: ".$errmsg."<br/>".mysql_error();  
}  
 
?>
Mon soucis est celui-ci, le script se charge bien, mais au moment de charger mon fichier sql, j'ai ce message d'erreur du à un accent:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
failure: query INSERT INTO `BDDJoueurs` VALUES (1,'Amrac',8,30,'test','chef',57,245,0,0,82),(12,'Marin',15,30,'CFI','chef',107,197,0,0,2200000),(18,'blyss',6,30,'CDF','Le Chef Historique',84,135,0,0,8345),(304,'TKSAS',25,21,'CDF','Le Prê failed
Erreur de syntaxe près de ''Le Prê' à la ligne 1
Savez vous comment je peux faire pour changer ca ?