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.
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
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(); } ?>
Savez vous comment je peux faire pour changer ca ?
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
Partager