je souhaiterai à l'ouverture de mon site tester si la base de donnée est bien installée.
Pour ce faire, j'ai décidé de procéder comme cela:
- test de la présence du fichier ok.txt
- si présence alors bdd bien installé
sinon Header (Location : install.php)
Le fichier install.php permet de créer la base de données et d'importer un fichier sql contenant les CREATE TABLE.
Pour le moment, j'arrive à créer ma base mais je voudrais pouvoir executer mon fichier SQL seulement je ne vois pas trop comment faire.
<?
session_start();
$host = isset($_REQUEST["host"]) ? $_REQUEST["host"]: "";
$database = isset($_REQUEST["database"]) ? $_REQUEST["database"]: "";
$user = isset($_REQUEST["user"]) ? $_REQUEST["user"]: "";
$password = isset($_REQUEST["password"]) ? $_REQUEST["password"]: "";
$erreur = 0;
if (!empty($host) && !empty($database) && !empty($user)){
$conn = mysql_pconnect("$host","$user","$password");
if ($conn != FALSE){
$sql = "CREATE DATABASE $database";
if (mysql_query($sql, $conn)){
print "Base de données créée correctement\n";
}
else {
print "Erreur lors de la création de la base de données : " . mysql_error() . "\n";
}
}
else{
$erreur=1;
}
}
?>
<html>
<head><title>Installation</title></head>
<body>
<form action="install.php" method="POST" style="margin: 0px;">
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td style="padding-top: 100;">
<table border="0">
<tr>
<td align="left" nowrap class="outer_table_heading" nowrap>
Installation de la base de données
</td>
</tr>
</table>
<table width="300" cellspacing="0" cellpadding="5" class="box">
<tr>
<td class="label">Adresse serveur :<br><input type="text" name="host" size="25" maxlength="25" value="<? echo $host;?>"></td>
<td class="label">Nom de la base :<br><input type="text" name="database" size="25" maxlength="25" value="<? echo $database;?>"></td>
<td><img class="login_image" src="images/spacer.gif"></td>
</tr>
<tr>
<td class="label">Nom de l'utilisateur :<br><input type="text" name="user" size="25" maxlength="25" value="<? echo $user;?>"></td>
<td class="label">Mot de passe utilisateur :<br><input type="password" name="password" size="25" maxlength="25" value="<? echo $password;?>"></td>
<td class="label"><br><input type="submit" name="Login" value="Ok"></td>
</tr>
<?
if ($erreur==1){
print "<tr bgcolor=\"red\">";
print "Impossible de se connecter à la base de donnée.";
print "</tr>";
}
?>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
J'ai bien pensé à fopen mais il y a des commentaires dans mon fichier .sql donc est ce que ca ne va pas faire des erreurs?Merci