Creation de table HEPL ME [Résolu/Fermé]

Signaler
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
-
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
-
Bonjour,

j'utilise le script ci desous pour creer une table :

mysql_select_db($database_organisation, $organisation);

$mysql_create_table = "CREATE TABLE IF NOT EXISTS ".$parrain." ( `id` int(255) NOT NULL auto_increment, `user_id` varchar(13) default NULL, `branche2` int(255) default NULL, `niveaux` int(255) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;

$mysql_request_create = mysql_db_query($database_organisation, $mysql_create_table) or die(mysql_error());

Jusque la rien de bien compliqué.

je voudrais faire un script du type :

si la table a été créé VAR = 1 si nom executer le bloc d'instruction suivant ...

qlq pourrait il m'aider ????????????????????????????????????????

4 réponses

Messages postés
691
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
10 juin 2015
75
salut,

$mysql_ma_table = mysql_create_table = "CREATE TABLE IF NOT EXISTS ".$parrain." ( `id` int(255) NOT NULL auto_increment, `user_id` varchar(13) default NULL, `branche2` int(255) default NULL, `niveaux` int(255) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;

if($mysql_ma_table)
{
print "la base à été créer";
$create = "oui";
}
else
{
print "la base n'à pas été créer";
$create = "non";
}
Messages postés
356
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
250
mysql_db_query() ne renvoit "false" qu'en cas d'erreur d'exécution de la requête.
La requête "CREATE TABLE IF NOT EXISTS" ne génère pas d'erreur si la table n'a pas été créée.

le retour de mysql_db_query ne sera donc jamais FALSE, et donc on ne peut pas tester ce retour pour vérifier si la table a été créée.

avec un test comme celui ci, tu peux vérifier la présence d'une table de la bdd:
if( mysql_num_rows( mysql_query("SHOW TABLES LIKE '$parrain' ")))


En fonction du contexte de ta création de table (ne sachant pas comment se comporte ta variable $parrain), il sera p-e nécessaire de faire un test avant et après ton instruction CREATE TABLE. Si tu ne fais le test qu'après, tu ne sauras pas si ta table a été créée par ton instruction, ou si c'est un table plus ancienne, tout dépend si c'est important ou pas pour toi de savoir ceci.
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
5
merci pour vos reponces.

en faite je voulais savoir si la table venais d'etre créée mais en faite maintenant je test avant de créer la table.

mais

if( mysql_num_rows( mysql_query("SHOW TABLES LIKE '$parrain' ")))

est une autre solution que je n'avais pas envisagé a mon avis je vais l'utilise pour simplifier mon script.
Messages postés
374
Date d'inscription
dimanche 20 janvier 2008
Statut
Membre
Dernière intervention
18 juin 2011
5
resolu