Creation de table HEPL ME

Résolu/Fermé
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 - 20 janv. 2008 à 14:35
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 - 21 janv. 2008 à 19:48
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 ????????????????????????????????????????
A voir également:

4 réponses

clintm Messages postés 689 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 10 juin 2015 75
21 janv. 2008 à 16:23
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";
}
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
21 janv. 2008 à 16:42
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.
0
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 5
21 janv. 2008 à 19:47
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.
0
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 5
21 janv. 2008 à 19:48
resolu
0