Creer une table pour mysql avec du php??????? [Fermé]

Signaler
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013
-
 Johnsoft_lab -
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?

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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez Comment Ça Marche

CCM 76002 internautes nous ont dit merci ce mois-ci

Merci pour votre aide, j'ai réussi à générer les tables avec php
Messages postés
17830
Date d'inscription
mardi 3 juillet 2001
Statut
Modérateur
Dernière intervention
11 mars 2015
107
en plus je confirme le fait que certains providers ne permettent pas de creer plusieurs bases. Par ex multimania ou free.

Castor
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
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!
Messages postés
83
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
1 octobre 2001
2
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
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013
>
Messages postés
83
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
1 octobre 2001

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
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013
>
Messages postés
83
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
1 octobre 2001

la crétion de base c pa ca visiblement.Je poursuis mes recherhe.
Messages postés
83
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
1 octobre 2001
2 >
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013

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 ...
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013
>
Messages postés
83
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
1 octobre 2001

j'avais bien compris.Le souci c ke je crois impossible de créer une base avec le langage sql.Visiblement on est limité a créer des tables.Pour l'instant je créer ma base dans phpadmin et je la rempli avec mon code sql.
Je cherche en ce moment d infos sur le sql pour etre sur kil n'éxiste pas un moyen de créer une base.
>
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013

DROP DATABASE IF EXISTS `phpmyadmin`;
CREATE DATABASE `phpmyadmin`;
USE phpmyadmin;
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
Messages postés
23
Date d'inscription
mardi 25 septembre 2001
Statut
Membre
Dernière intervention
3 septembre 2013

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.
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
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
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 ????
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
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.
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
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
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
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
C'est bon, tu y arrives? Ca réponds bien à ta demande?
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
Messages postés
798
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
33
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.
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 ?
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
Messages postés
2915
Date d'inscription
jeudi 26 avril 2001
Statut
Membre
Dernière intervention
21 mars 2013
498
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 =-
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