[php/mysql]Creation multi table

Creation multi table [php/mysql] - PHP - Programmation

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 :

Citation :


$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 :

Citation :

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  

Citation :

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  :bounce:

Reply

Marsh Posté le 09-11-2004 à 11:12:25   

Reply

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 :)

Reply

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 :(


Message édité par leplusapte le 09-11-2004 à 22:58:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed