Creation multi table [php/mysql] - PHP - Programmation
Marsh Posté le 09-11-2004 à 17:07:54
C'est tout con en fait, mySQL ne supporte pas les instructions multiples. Il te faut donc faire autant d'execute qu'il n'y a de create dans le fichier
Marsh Posté le 09-11-2004 à 22:57:42
erf sa marange pas sa merci quant meme pour la reponse je sait pas trop comment je vais découper sa
Marsh Posté le 09-11-2004 à 11:12:25
Bonjour je fait un installeur pour une application en php/mysql
Je veux faire la creation des table a partir du fichier .sql mais sa marche po trop .
Voila mon code :
$conn = &ADONewConnection('mysql');
$conn->PConnect($host,$username,$password,$bdname) or die(header("location: install.phtml?notice=error_db" ));
$fichier = 'sql/table.sql'; // on déclare le nom du fichier à ouvrir
$taille = filesize($fichier); //donne la taille du fichier
$fp = fopen($fichier,'r'); //ouverture du fichier en lecture seule
$base = "";
while(!feof($fp)) //feof indiquera la fin du fichier, donc dans cette boucle, le fichier est parcouru jusqu 'à la fin
{
$ligne = fgets($fp,$taille); //lecture du fichier et stockage dans la variable ligne
$base .= $ligne; //affiche la ligne à l'écran, n'oubliez pas le <br> qui est le retour à la ligne html
}
fclose($fp);
$conn->Execute($base) or die(mysql_error().'<br><br>'.$base);
Jutilise la library ADOdb mais je ne panse pas que le probleme viene de la
sinon voila une partie du fichier sql :
CREATE TABLE erreurs (
id int(10) unsigned NOT NULL auto_increment,
fichier_id int(10) unsigned NOT NULL default '0',
ligne int(10) unsigned default NULL,
label varchar(250) default NULL,
PRIMARY KEY (id),
KEY erreurs_FKIndex1 (fichier_id)
) TYPE=MyISAM;
CREATE TABLE fichier (
id int(10) unsigned NOT NULL auto_increment,
nom varchar(250) default NULL,
dateheure datetime default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE groupe_permission (
id int(10) unsigned NOT NULL auto_increment,
fichier_id int(10) unsigned NOT NULL default '0',
nom varchar(120) default NULL,
PRIMARY KEY (id),
KEY groupe_permission_FKIndex1 (fichier_id)
) TYPE=MyISAM;
CREATE TABLE groupe_permission_has_permissions (
Permissions_id int(10) unsigned NOT NULL default '0',
groupe_permission_id int(10) unsigned NOT NULL default '0',
PRIMARY KEY (Permissions_id,groupe_permission_id),
KEY groupe_permission_has_Permissions_FKIndex1 (groupe_permission_id),
KEY groupe_permission_has_Permissions_FKIndex2 (Permissions_id)
) TYPE=MyISAM;
ainci que lerreur qu'il me renvoi
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '; CREATE TABLE fichier ( id int(10) unsigned NOT NULL a
quelqu un a idée qui pourait maider ?
merci a tous