Tutorial : php construit les bases, les tables et les champs, il peut meme les modifier !

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 322 fois - Téléchargée 34 fois

Contenu du snippet

Voici un petit tutorial sur les actions de PHP pour dialoguer avec un serveur mySQL afin de créer des tables et des bases, de les modifier et de les supprimer

ATTENTION : En test local (comme avec easyPHP) tout fonctionnera normalement, mais chez votre hébergeur, vous ne disposez pas de tous les droits sur les bases de données, je pense par exemple aux hébergeurs qui n'autorisent que une seule base, vous ne pourrez pas utiliser la fonction CREATE DATEBASE

Pour plus d'informations, reportez vous a l'aide de votre hébergeur ;-D

Source / Exemple :


//********************************
//PHP CONSTRUIT DES BASES mySQL
//********************************

//CONNEXION AVEC LE SERVEUR mySQL
$hostname_Connex = "localhost";
$database_Connex = "mabase";
$username_Connex = "root";
$password_Connex = "";
$Connex = mysql_pconnect($hostname_Connex, $username_Connex, $password_Connex) or die(mysql_error());
mysql_select_db($database_Connex, $Connex);

//******************************************
//CREER UNE BASE DE DONNES 
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************
$query_Clients = "CREATE DATABASE `mabase1`" ;
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//CREER UNE TABLE
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************
$query_Clients = "
CREATE TABLE `clients` (
`IDclient` TINYINT NOT NULL AUTO_INCREMENT ,
`Nom` VARCHAR( 50 ) NOT NULL ,
`Prenom` VARCHAR( 50 ) NOT NULL ,
`Adresse` VARCHAR( 255 ) NOT NULL ,
`CP` VARCHAR( 20 ) NOT NULL ,
`Ville` VARCHAR( 50 ) NOT NULL ,
`Telephone` VARCHAR( 20 ) NOT NULL ,
`Fax` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `IDclient` ) 
) COMMENT = 'Les clients'";

$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//AJOUTER UN CHAMP DANS LA BASE
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "ALTER TABLE `clients` ADD `Email` VARCHAR( 100 ) NOT NULL";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//MODIFIER UN CHAMP DE LA BASE
////(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "ALTER TABLE `clients` CHANGE `CP` `CP` VARCHAR( 15 ) NOT NULL";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//SUPPRIMER UN CHAMP DE LA BASE
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "ALTER TABLE `clients` DROP `Email`";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//RENOMMER UNE TABLE
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "ALTER TABLE `clients` RENAME `clients2`";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//SUPPRIMER UNE TABLE DE LA BASE
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "DROP TABLE `clients`";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error()); 

//******************************************
//SUPPRIMER UNE BASE DU SERVEUR
//(Sous reserve que vous disposiez des droits nécéssaires avec votre login/mot de passe)
//******************************************

$query_Clients = "DROP DATABASE `mabase1`";
$Clients = mysql_query($query_Clients, $Connex) or die(mysql_error());

Conclusion :


Voila, j'ai publié cette source suite a une commentaire sur un autre tutorial ou je parle d'interactions avec la base (Ajout, Modification et Suppression de données)

http://www.phpcs.com/code.aspx?ID=26480

A voir également

Ajouter un commentaire

Commentaires

fanfan92150
Messages postés
4
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
30 novembre 2007

Merci beaucoup, ce code m'a bien servi!

ps : juste un détail, pour ceux qui executent ce code étape par étape comme moi, et qui obtiennent un message d'erreur lors de la création de la table 'clients' comme quoi ils n'ont pas sélectionné de base : la base que l'on crée ligne 17 s'appelle 'mabase1' alors que celle que l'on selectionne ligne 11 s'appelle mabase (comme spécifié ligne 7). Pour pouvoir effectuer la création de la table il faut donc bien sélectionner une base qui existe et donc mettre 'mabase1' en ligne 7. L'auteur l'a surement fait expres car les différentes parties sont indépendantes, mais quand on débute on peu bloquer dessus....
EMSIEN
Messages postés
194
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2009

merci pour Tous.
abravo5
Messages postés
21
Date d'inscription
samedi 31 juillet 2004
Statut
Membre
Dernière intervention
16 octobre 2005

Bonjour.
Il y on a des gens qui critiquent, et ne donnent rien, mais toi tu fais de ton mieux pour apporter quelques choses , continue, c'est très bien.
Magidev
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

On peut utiliser au choix mysql_pconnect ou mysql_connect, le premier ouvrant une connexion permanente au serveur (qu'il ne faut pas oublier de ferme apres ;-) )
cs_plopman
Messages postés
67
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
13 septembre 2006

sympa, juste une remarque:
$Connex = mysql_pconnect il y a un p en trop si je ne me trompe pas :)
Plopman

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.