voila je fais un script mais il plante lors de l'installation .le but de mon script est de permettre l'installation automatique de la table SQL depuis mon script PHP.
mais pour une raison inconnu php ne veut pas creer la table (il repond qu'il y a une erreur de syntaxe SQL )le pire c'est quand je suis dans phpadmin et que je fais executé le script sql depuis phpadmin sa fonctionne !! donc je me dit qu'il n'y a pas d'erreur de syntaxe donc pourquoi PHP renvoit cette erreur :
fichier index.php:
<?php
//bienvenue sur MSNLive
$file_config=filesize("configMySQL.txt");
if ( $file_config == 0 )
{
//aucune installation n'a été faites
echo '<html><head><title>INSTALLATION</title></head> <body>pour installé MSNLive merci de rensigné les champs suivant :<br /><form method="post" action="config.php">adresse du serveur MySQL:<input type="text" name="server" /><br />identifiant de connexion:<input type="text" name="id" /><br />password de connexion:<input type="text" name="password" /><br />nom de la base de donné MySQL:<input type="text" name="base" /><br /><input type="submit" value="Valider" /></form>';
}
else
{
include ('msn.php');
}
?>
fichier config.php :
<?php
//si on doit installé le fichier MySQL
$mysql = fopen ('configMySQL.txt','w');//on ouvre le fichier de configuration MySQL
fwrite ($mysql, ''.$_POST['server'].'|'.$_POST['id'].'|'.$_POST['password'].'|'.$_POST['base'].'');//on ecrit dedans
include ('mysql.php');//puis on ouvre MySQL
//installation des table SQL
$sql = file_get_contents('install.sql');
mysql_query($sql) or die ('erreur l\'or de la creation des table SQL<br /><b>'.mysql_error().'</b>');
if ($mysql == true)
{
echo 'l\'installation c est tres bien passé<br />vous pouvez desormais allez sur la page d\'acceuil <a href = "index.php">ici</a>';
}
else
{
echo 'erreur !!<br />merci d indiqué l erreur a l admin';
}
?>
fichier mysql.php :
<?php
$data = file_get_contents ('configMySQL.txt');
$mysql = explode('|', $data);
$nbr_data = 3;
$compteur = 0;
$array = array ('', '', '', '');
while ($compteur <= $nbr_data)
{
$array[$compteur] = $mysql[$compteur];
$compteur++;
}
//ici on genere la connexion
mysql_connect (''.$array[0].'',''.$array[1].'',''.$array[2].'')or die ('connexion impossible');
mysql_select_db (''.$array[3].'')or die ('erreur DB');
?>
fichier install.sql :
CREATE TABLE membre (
`id` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
pseudo VARCHAR(20) NOT NULL,
password VARCHAR(14) NOT NULL,
email VARCHAR(14) NOT NULL,
etat VARCHAR(14) NOT NULL,
profil VARCHAR(14) NOT NULL
) ENGINE = MYISAM ;
CREATE TABLE minichat (
`id` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
pseudo VARCHAR(20) NOT NULL,
message VARCHAR(255) NOT NULL
) ENGINE = MYISAM ;
CREATE TABLE messagerie (
id INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
expediteur VARCHAR(20) NOT NULL,
destinataire VARCHAR(14) NOT NULL,
titre VARCHAR(25) NOT NULL,
message VARCHAR(255) NOT NULL
) ENGINE = MYISAM ;
pourquoi dans le fichier config.php une erreur de syntaxe SQL est detecté !!