Base mysql. transfere de local vers site.

Base mysql. transfere de local vers site. - PHP - Programmation

Marsh Posté le 26-01-2008 à 11:01:21    

Salut!
j'ai une base de donnée de 30Mo a transféré vers mon site.
donc pas de probleme, j'ai un petit script qui m'upload tout.
 
Mais le probleme c'est que visiblement ma base de donnée local (MySQL sous windows) rajoute des truc dans les fichiers .sql du genre "DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;"
 

Citation :


CREATE TABLE `accueil` (
  `id` mediumint(255) NOT NULL auto_increment,
  `titre` text NOT NULL,
  `photo` text NOT NULL,
  `titre_photo` text NOT NULL,
  `texte` text NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


au lieu de  

Citation :


CREATE TABLE `accueil` (
  `id` mediumint(255) NOT NULL auto_increment,
  `titre` text NOT NULL,
  `photo` text NOT NULL,
  `titre_photo` text NOT NULL,
  `texte` text NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM;


 
comment faire pour lui empecher?


---------------
http://www.free-tribes.org
Reply

Marsh Posté le 26-01-2008 à 11:01:21   

Reply

Marsh Posté le 26-01-2008 à 13:51:49    

T T T  
Procédons par étape voulez vous bien  :cry:  
si je comprends bien, tu veux :
a/ récuperer une ligne dans ta base de données locale
b/ ... nous y reviendrons après
c/ l'injecter dans ta base de données distante
 
peux tu injecter tes données sous forme de ligne, style :
 
$sql = mysql_query("INSERT INTO `table` (`ligne1`, `ligne2`) VALUES ('$insert1', '$insert2')" );
??
 
peux tu faire un remplacement :
remplacer
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2  
par  
ENGINE=MyISAM
dans chaque ligne générée par ton script  
$injection = str_replace(,,)
??
 
 
donc :
a/  récupérer tes variables...
b/  éventuellement (si j'ai bien compris) appliquer un str_replace aux lignes qui posent soucis
b'/ concaténer tout ça, créer la ligne de code qui va bien
c/  injecter dans ta base distante...
 
Sinon j'ai rien compris au problème


---------------
http://www.ypikay.com
Reply

Marsh Posté le 26-01-2008 à 19:27:35    

a/ ce n'est pas une ligne mais toute la base de donnée
b/ lol
c/ oui, c'est tout a fait ça^^
 
mais pour l'ijecter je n'est pas de probleme, j'ai un script qui fait tout ça!
 

Citation :

peux tu faire un remplacement :
remplacer
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2  
par  
ENGINE=MyISAM
dans chaque ligne générée par ton script  
$injection = str_replace(,,)
??


 
a la limite oui.. mais le probleme c'est que le "AUTO_INCREMENT=2" des fois c'est trois ou autre chose^^
 
Enfait le probleme, c'est cette dernierre ligne^^
je me demandais si via phpmyadmin il y avais moyen qu'il me l'écrive pas
 
sinon tempis, je vais tout me faire au bloc note!
pourquoi ça me fait ça?
 
merci bien en tout cas


---------------
http://www.free-tribes.org
Reply

Marsh Posté le 26-01-2008 à 22:59:38    

non, ça me fait un synixtase error (désolé pour l'orthographe)
il faut que je vire ses "default-charset et auto-increment a la derniere ligne de chaque table"
ça me fait ça depuis toujours.
 
maconfig local: windows xp avec easyphp


---------------
http://www.free-tribes.org
Reply

Marsh Posté le 07-10-2008 à 17:34:15    

GostSn a écrit :

non, ça me fait un synixtase error (désolé pour l'orthographe)
il faut que je vire ses "default-charset et auto-increment a la derniere ligne de chaque table"
ça me fait ça depuis toujours.
 
maconfig local: windows xp avec easyphp


 
bonjour,
 
je fais un p'tit up car je rencontre exactement le même problème, as tu réussi à le solutionner ?
 
 

Reply

Marsh Posté le 09-10-2008 à 10:21:30    

Ton conflit est du je pense au mot clef ENGINE qu'il faut remplacer par TYPE dans certaines versions de mySQL

Reply

Sujets relatifs:

Leave a Replay

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