Bonjour,
Je suis actuellement en train d'essayer de monter un CMS en PHP et la majorité des fonctions sont terminées. Cependant, j'ai un problème concernant l'installeur PHP que je suis en train de réaliser.
En effet, j'ai souhaité faire un installeur qui permettrait d'importer les tables et leur contenu puis de créer un fichier de configuration automatiquement.
Le problème intervient lorsque j'essaye d'exécuter mon fichier SQL via PHP pour créer l'arborescence dans MySQL. Je dispose d'un fichier .sql tout droit sorti d'une exportation depuis phpmyadmin.
Mon script lit le contenu du fichier SQL puis l'exécute... le problème est qu'à chaque fois, ça provoque l'erreur précisée dans le dernier "else". Voici la partie du code incriminée:
Autrement dit, le script passe toujours dans le dernier "else" donc la requète ne s'exécute naturellement pas. J'ignore s'il y a un problème avec mon fichier SQL.
Code php : 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 <?php // Connexion à la base de données mysql_connect($_SESSION['hote'], $_SESSION['nomutil'], $_SESSION['motpasse']) or die(mysql_error()); mysql_select_db($_SESSION['nombdd']) or die(mysql_error()); // Chargement des requètes SQL $sql = file_get_contents('mysql_schema.sql'); // Envoi des requètes précédemment chargées if(mysql_query($sql)) { echo '<font color="#006600">Paramétrage terminé avec succès.</font>'."\r\n"; echo '</td> </tr> </table> <table> <tr> <td><input type="submit" name="etape<?php echo $etape; ?>" value="<?php echo $texte_bouton; ?>" /></td> <td> </td> </tr> </table>'; } else { echo '<font color="red">Le paramétrage a échoué... veuillez <a href="index.php">relancer l\'assistant</a>.</font><br />Si l\'erreur persiste, contactez cette erreur à Limber Web.'."\r\n"; echo '</td> </tr> </table>'; } ?></p>
Phpmyadmin fait-il un formatage incorrect qui ferait tout planter ?
Merci d'avance pour tout éclairage sur mon problème.
P.-S: J'ai vérifié, les sessions n'y sont pour rien, elles fonctionnent correctement.
Partager