Creer une table pour mysql avec du php???????

Fermé
wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013 - 25 sept. 2001 à 11:26
 Johnsoft_lab - 1 avril 2020 à 02:39
Bonjour!
j'aimerai créer une table sur mysql directement avec le langage php. J'ai cru comprendre que la commande sql CREATE TABLE matable(Champ1 varchar(20),Champ2 varchar(20)) était utile.Le pb c kil me manque certainement un bout de code.
Je suppose ke j'ai du mal comprendre.Si qq'un a une solution a me soumettre je suis preneur.
Merci..
Rq:Je voudrais un tel code pour pouvoir créer la table directement chez l'hébergeur, la remplir et la consulter.Y a t'il une commande pour savoir si la table existe?
A voir également:

18 réponses

Bonjour,
c'est woody tout debutant que je suis voila une contribution a travers mes recherches

<?php
if(!mysql_connect('localhost','root'))
{
Echo'Connection Impossible';
exit();
}
else
{    
Echo'Connexion réussie';
}

//ouverture de la base de donnée DB_name
Mysql_select_db('DB_name');

// creation de la table TB_name
$requete="CREATE TABLE if not exists TB_name (champ taille, champ taille)";

$erreur=mysql_query($requete);
// renseignement sur les erreurs possibles
$erreur1=mysql_error();
print($erreur."<br>");
print($erreur1); mysql_close(); ?>

en effet Wapin confond base et table avec easyphp tu pex cree une base en local la conserver sur ton ordi

Salut a tous
12
Merci pour votre aide, j'ai réussi à générer les tables avec php
0
Utilisateur anonyme
27 sept. 2001 à 13:15
en plus je confirme le fait que certains providers ne permettent pas de creer plusieurs bases. Par ex multimania ou free.

Castor
3
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
23 mars 2008 à 15:39
Désolé pour le temps d'attente, tu as sûrement dû trouver ta réponse(!) :
Oui ça marche aussi bien, c'est le même résultat.
A bientôt!
3
sebweb Messages postés 78 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 1 octobre 2001 2
25 sept. 2001 à 11:35
Si t'a base existe tu peut utiliser une fonction tel que :

<?
function requete($requete)
{
if($resultat=mysql_query($requete))return $resultat;
erreur('Erreur dans votre requete : $requete<BR>'.mysql_error());
} ?>

et puis tu appelle t'a fonction par

$requete =' Create table ...';

Voila.
Je pense que tu connais la requete SQL pour créer la table.
Sinon demande le moi
2
wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013
25 sept. 2001 à 14:03
En fait je me suis mal expliqué.je veux carément créer ma base.
Est ce possible.Sinon comment fait on pour installer la base chez un hébergeur
0
sebweb Messages postés 78 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 1 octobre 2001 2 > wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013
25 sept. 2001 à 14:49
Heu ca doit etres ca je croi

"CREATE DATABASE [IF NOT EXISTS] db_name"

0
wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013 > sebweb Messages postés 78 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 1 octobre 2001
25 sept. 2001 à 15:30
Merci beaucoup!
c bon j'ai réussi a créer la table, c déja pas mal.
je vais essayer de créer la base.
Je suis sur MSN a l'adresse wapinsylvain@hotmail.com
Si tu veux parler php ya pas de pb
0
wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013 > sebweb Messages postés 78 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 1 octobre 2001
25 sept. 2001 à 16:19
la crétion de base c pa ca visiblement.Je poursuis mes recherhe.
0
sebweb Messages postés 78 Date d'inscription mercredi 5 septembre 2001 Statut Membre Dernière intervention 1 octobre 2001 2 > wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013
25 sept. 2001 à 16:32
Ha mon avis tu dois confondre ...
Y a le serveur MYSQL
A l'interieur tu peut mettre +ieur Base de donnée.
Dans chaque base de donnée tu cree des enregistrements.

Donc avant de crer ta table faut creer la base ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Slt

La syntaxe sql pour créer une base de données est ultra simple

CREATE DATABASE [Nom_base]

Cependant ca m'étonnerais que ton provider t'autorise à créer toi même ta base de données encore moins plusieurs. Car ton provider gère également tout ce qui concerne la sécurité (droit d'accès, mot de passe) par rapport à ta base choses auquelles tu n'as en général pas accès (sauf en local bien sûr). Normalement lorsque tu t'inscris il créé automatiquement pour toi une base de données avec un nom choisi par ses soins. En tout cas chez Multimania c'est comme çà qu'ils font. Ce n'est pas gênant du tout le nom de la base n'ayant vraiment aucune importance une fois celle-ci ouverte.

Une question : pourquoi veux-tu créer plusieurs bases ?

@+
Philippe
2
wapin Messages postés 11 Date d'inscription mardi 25 septembre 2001 Statut Membre Dernière intervention 3 septembre 2013
26 sept. 2001 à 09:52
en fait je ne veux créer qu'une seule base.Je voulais faire ca pour bétonner mon programme.Si la base est supprimer ou altérer le simple fait de ne pas pouvoir si connecter et j'en créer une autre.Comme ca mon prog marche dans tout les cas.Ca paraissiat une bonne idée.Maintenant si tu penses que mon provider va m'envoyer sur le banc de touche.....Ca simplifie mon code.Quand on créer une base il fo pas indiquer le nb de champ?sur phpadmin il demande le nom de la base et le nombre de champ.
A+ sylvain.
0
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
1 oct. 2007 à 23:02
Si tu es hébergé sur internet, généralement, comme tout le monde le dit tu n'as qu'une base de données, mais libre à toi d'y créer plusieurs tables (chose que tu peux faire avec php CREATE TABLE..., et c'est ici que tu indiques le nombre de champs et leurs propriétés)
Par contre chez toi tu peux créer autant de base que tu le souhaites, et aussi avec du php je pense que c'est possible: créer une requête en sql dans une instruction php: mysql_query("CREATE DATABASE..."); Et il n'y a pas de champs, une base ne contient que des tables
2
REVENONS AU PLUS SIMPLE DE LA QUESTION :


NOUS AVONS UNE BASE : exemple : 'mabase'


comment créer une table dynamiquement en php le plus simplement possible? pour un débutant , merci ?





jimagine que l'on a besoin de divers elements comme le nom de la table , l'adresse , l'identifiant, peut etre un mot de passe ????
2
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
14 oct. 2007 à 22:48
C'est ce qu'on te dit: insère une instruction sql dans mysql_query("..."); qui est une instruction php.
Le sql est à l'origine de la gestion d'une bdd, et php a la possibilité de véhiculer des instructions sql avec cette fonction, vers le serveur.
2
je comprend rien, je suis débutant , je ne sais pas ce qu'est une instruction sql,


je cherche concretement du code, c'est a dire la marche a suivre complete, pour pouvoir ajouter une table à une base de donnée, le tout sur une page *.php le plus simplement possible , sans formulaire , ni variable

donc avec ca : (exemple)

MySQL Database Name: 12345689
MySQL Username : PETITOURSON
MySQL Password : PATEDEFOI
MySQL Server: 1212121212

comment je fais pour creer une table ( ex : POUPLOULE)


je voudrais exactement le code que l'on adoit entrer avec si possible des commentaire a chaque fonction, de facon a ce que je comprenne la procedure integralemenlt au pas a pas

je suis debutant , je ne veux pas dexplication abstraite sans code, merci de votre aide
1
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
15 oct. 2007 à 19:05
Une requête sql est une instruction qui affecte ta base de donnée, par exemple pour créer un enregistrement, pour selectionner un groupe d'enregistrements qui correspondent à des critères que tu auras mentionnés dans cette requête...etc...

mysql_connect("1212121212", "PETITOURSON", "PATEDEFOI");
//Tu te connecte à ton serveur
mysql_select_db("12345689");
//Tu te connecte à ta base de données.Maintenant on va enregistrer dans $sql la requetequi passera par l'instruction php "mysql_query".
$sql="CREATE TABLE `POUPOULE` (
`id` mediumint(9) NOT NULL auto_increment,
`champ1` text NOT NULL,
`champ2` text NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;";
// Tu as une clé qui est le champ `id` qui s'incrémente toute seule pour éviter des doublons.
//Puis je t'ai mis 2 champs texte. Enfin on exécute la requête avec la fameuse fonction mysql_query qui dit "ceci est une requete sql"...
mysql_query($sql);
mysql_close();
//On ferme notre accès
1
Merci.
1
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
16 oct. 2007 à 17:18
C'est bon, tu y arrives? Ca réponds bien à ta demande?
1
Bonjour,
Je viens d'installer easyphp1.8 et j'ai configurer phpmyadmin en changeant le mot de passe de root.
Après qu'est que je dois faire pour créer ma base de donnée, insérer des enregistrement, faire des opérations sur ma base. Sachant que je dois créer une base de données pour créer un site web dynamique.
Merci
1
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
25 oct. 2007 à 18:17
Bonsoir, normalement tout est marqué dans phpmyadmin:
Insérer un enregistrement, Créer une table...
Sinon, tu peux apprendre le mysql qui est un langage qui te permet de manipuler une bdd.
1
Merci ilan pour ta contribution claire et précise :) , toute fois , j'ai une question:

Dans ton script tu met la requete sql dans une variable php ( $sql )
et tu l'execute plus loin: ( mysql_query( $sql); )

Pourquoi ne pas metre la requete sql directement la fonction ?

mysql_query(

"CREATE TABLE `POUPOULE` (
`id` mediumint(9) NOT NULL auto_increment,
`champ1` text NOT NULL,
`champ2` text NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;"

)

ça ne fonctionerais pas ?
1
Slt wapin,

J'utilise PhpMyAdmin et lorsque tu créés une nouvelle base de données (tu te trouves alors sur la page d'accueil de PhpMyAdmin) il n'est absolument pas question d'un nbre de champ ! Tu dois confondre création de la base et création d'une table dans une base déjà existante.

Qt à avoir plusieurs bases, tu peux toujours essayer de t'inscrire chez plusieurs providers chacun hébergeant une copie de ta base. Mais tu vas alors te heurter au délicat pb de la synchronisation de tes bases lors des mises à jour ... Car récuperer une base opérationnelle mais pas à jour voir vide ne sert à rien. De toute façon sur les serveurs Apaches ca plante rarement ! Et puis rien ne t'interdit de récuperer toutes les semaines (voir plus) ta base (structures des tables ainsi que toutes les données) et de faire une sauvegarde sur ton PC ou sur CDR (c'est + sûr !)

[:) [:)

@+
Philippe
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
27 sept. 2001 à 02:00
Comme PhP, je pense que tu confonds "base" et "table". Il n'y a pas de champs pour une base.

Ensuite je pense que l'idée de re-créer ta base à la volée (ou plutôt ta table) n'est pas forcement très adhéquat. En dehors de la théorie pour blinder ton code (l'idée est bonne), en réalite la base (ou table) sert à quelque chose (ici je suppose qu'elle sert à des INSERTs) mais si ta base disparait, les nouveaux enregistrements recommenceront à zéro. Et tu galèrreras pour mettre à jours tes sauvegardes.
Mais tout dépend de l'utilisation que tu en fais.

-= Bobinours =-
0
Bonjour,

Je fais suite à la demande de Wapin, sur un poste qui a 6 ans d'âge !!

Donc j'aimerais savoir s'il est possible de créer une table sql via un formulaire en php ?

Merci d'avance
0