Mysql et php

Fermé
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 - 16 nov. 2008 à 11:57
Stef60 Messages postés 251 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 22 avril 2009 - 17 nov. 2008 à 12:29
Bonjour,
j'ai la structure d'une base de donnée dans un fichier mysql.
maitenant j'aimerais aller modifier la structure d'une autre base
de donnée à l'aide de ce fichier en php.
c'est à dire que le script vérifiera les tables et les champs manquants
afin de les ajouter dans la base de donnée
A voir également:

3 réponses

brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 14
17 nov. 2008 à 09:01
up!
0
dindoun Messages postés 1027 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 135
17 nov. 2008 à 09:33
salut
y a pas de question!
0
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 14
17 nov. 2008 à 09:39
ok!
j'ai bidouiller un script mais qui ne marche pas correctement:
en fait ici, je veus lister les champs qui existent dans ma-base1 et qui n'existe pas dans ma-base2


$ServeurDistant='localhost';
$UserDistant='root';
$PassworDistant= ' ';
$BdDistante='ma_base1';
/*****************************/
$ServeurLocal='localhost';
$UserLocal='root';
$PasswordLocal= ' ';
$BdLocale='ma-base2;
/*****************************/
$ConnectDistante = mysql_connect($ServeurDistant,$UserDistant,$PassworDistant);
mysql_select_db($BdDistante,$ConnectDistante);
$ListeTableDistante = mysql_list_tables ($BdDistante);
$TotalTableDist=mysql_num_rows ($ListeTableDistante);

/***********************************************/
$ConnectLocale = mysql_connect($ServeurLocal,$UserLocal,$PasswordLocal);
mysql_select_db($BdLocale,$ConnectLocale);
$ListeTableLocale = mysql_list_tables ($BdLocale);
$TotalTableLoc=mysql_num_rows ($ListeTableLocale);

/************************************************/

//echo $TotalTableLoc." Table Locales <br>"; echo $TotalTableDist." Table Distantes<br>";

for($i=0;$i<$TotalTableLoc;$i++)
{
$NomTableLoc[$i] = mysql_tablename ($ListeTableLocale,$i);
for ($j=0;$j<$TotalTableDist;$j++)
{
$NomTableDist[$j] = mysql_tablename ($ListeTableDistante,$j);
if ($NomTableLoc[$i]==$NomTableDist[$j])
{
mysql_select_db($BdLocale, $ConnectLocale);
$DescripTable1 = mysql_query("DESCRIBE $NomTableLoc[$i]",
$ConnectLocale) or die("Erreur 5 lors de la requête : ".mysql_error()."\n");
$TotalTable1=mysql_num_rows ($DescripTable1);
mysql_select_db($BdDistante, $ConnectDistante);
$DescripTable2 = mysql_query("DESCRIBE $NomTableDist[$j]",
$ConnectDistante) or die("Erreur 6 lors de la requête : ".mysql_error()."\n");
$TotalTable2=mysql_num_rows ($DescripTable2);
for($x=0;$x<$TotalTable1;$x++)
{
$ChampLoc= mysql_fetch_array($DescripTable1);
for($y=0;$y<$TotalTable2;$y++)
{
$ChampDist= mysql_fetch_array($DescripTable2);
if ($ChampLoc["Field"]==$ChampDist["Field"])
{
// echo $ChampLoc["Field"]." Existe ";
$y=$TotalTable2+5;
}
}
if ($y==$TotalTable2)
{

echo " / ".$ChampLoc["Field"]." n'existe
pas / <br> ";
/*$NbredeChampAjoute++;
$champ=$ChampLoc["Field"];
$type=$ChampLoc["Type"];
$Extra=($ChampLoc
}
}
}

}
}
0
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 14 > brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014
17 nov. 2008 à 09:42
$ServeurDistant='localhost';
$UserDistant='root';
$PassworDistant= ' ';
$BdDistante='ma_base1';
/*****************************/
$ServeurLocal='localhost';
$UserLocal='root';
$PasswordLocal= ' ';
$BdLocale='ma-base2;
/*****************************/
$ConnectDistante = mysql_connect($ServeurDistant,$UserDistant,$PassworDistant);
mysql_select_db($BdDistante,$ConnectDistante);
$ListeTableDistante = mysql_list_tables ($BdDistante);
$TotalTableDist=mysql_num_rows ($ListeTableDistante);

/***********************************************/
$ConnectLocale = mysql_connect($ServeurLocal,$UserLocal,$PasswordLocal);
mysql_select_db($BdLocale,$ConnectLocale);
$ListeTableLocale = mysql_list_tables ($BdLocale);
$TotalTableLoc=mysql_num_rows ($ListeTableLocale);

/************************************************/

//echo $TotalTableLoc." Table Locales <br>"; echo $TotalTableDist." Table Distantes<br>";

for($i=0;$i<$TotalTableLoc;$i++)
{
$NomTableLoc[$i] = mysql_tablename ($ListeTableLocale,$i);
for ($j=0;$j<$TotalTableDist;$j++)
{
$NomTableDist[$j] = mysql_tablename ($ListeTableDistante,$j);
if ($NomTableLoc[$i]==$NomTableDist[$j])
{
mysql_select_db($BdLocale, $ConnectLocale);
$DescripTable1 = mysql_query("DESCRIBE $NomTableLoc[$i]",
$ConnectLocale) or die("Erreur 5 lors de la requête : ".mysql_error()."\n");
$TotalTable1=mysql_num_rows ($DescripTable1);
mysql_select_db($BdDistante, $ConnectDistante);
$DescripTable2 = mysql_query("DESCRIBE $NomTableDist[$j]",
$ConnectDistante) or die("Erreur 6 lors de la requête : ".mysql_error()."\n");
$TotalTable2=mysql_num_rows ($DescripTable2);
for($x=0;$x<$TotalTable1;$x++)
{
$ChampLoc= mysql_fetch_array($DescripTable1);
for($y=0;$y<$TotalTable2;$y++)
{
$ChampDist= mysql_fetch_array($DescripTable2);
if ($ChampLoc["Field"]==$ChampDist["Field"])
{
// echo $ChampLoc["Field"]." Existe ";
$y=$TotalTable2+5;
}
}
if ($y==$TotalTable2)
{

echo " / ".$ChampLoc["Field"]." n'existe
pas / <br> ";

}
}
}

}
}
0
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 14 > brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014
17 nov. 2008 à 11:10
up!
0
Stef60 Messages postés 251 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 22 avril 2009 41
17 nov. 2008 à 12:29
Bonjour,
en ajoutant IF NOT EXISTS à tes requetes.
0