IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Créer une base avec PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    497
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 497
    Points : 194
    Points
    194
    Par défaut Créer une base avec PDO
    Bonjour,
    j'aimerai automatiser la création d'une base avec PDO mais il faut pour ce connecter dournir la base d'après ce que je fait habituellement donc je ne vois pas comment automatiser la création ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <?php
    	$db = 'boutiqueObjet'; //nom de la base de données
    	$host = 'localhost'; // nom de la machine hôte
    	$user = 'root'; // nom de l'utilisateur
    	$pwd = 'xav';// mot de passe
    	try {
    		$dsn = "mysql:dbname=$db;host=$host";
    		$con = new PDO($dsn, $user, $pwd, array(PDO::ATTR_PERSISTENT => true
    	));
    	}
    	catch (PDOException $e)
    	{
    		print 'Erreur ! : '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		//echo 'N° : '.$e->getLine();
    		die();
    	}
    	$categorie=
    	 		"CREATE TABLE bt_categorie (
    	 		id mediumint(8) unsigned NOT NULL auto_increment,
    	 		code varchar(20) NOT NULL default '',
    	 		libel varchar(200) NOT NULL default '',
    	 		langue char(2) NOT NULL default 'fr',
    	 		description text NOT NULL,
    	 		keywords text NOT NULL,
    	 		PRIMARY KEY (id),
    	 		KEY libel (libel),
    	 		KEY langue (langue),
    	 		KEY code (code)
    	 		)";
     
    	$produits=
    	 		"CREATE TABLE bt_produits (
    	 		prd_id mediumint(8) unsigned NOT NULL auto_increment,
    	 		date_entree date NOT NULL default '0000-00-00',
    	 		reference varchar(20) NOT NULL default '',
    	 		id_fourn mediumint(8) unsigned NOT NULL default '0',
    	 		ref_fourn varchar(30) default NULL,
    	 		prix_ht float(10.2) unsigned NOT NULL default '0.00',
    	 		prix_ttc float(10.2) unsigned NOT NULL default '0.00',
    	 		prix_promo float(10.2) unsigned NOT NULL default '0.00',
    	 		stock mediumint(8) unsigned NOT NULL default '0',
    	 		stock_mini mediumint(8) unsigned NOT NULL default '0',
    	 		delai varchar(150) default NULL,
    	 		poids mediumint(8) unsigned NOT NULL default '0',
    	 		taux_tva tinyint(3) unsigned NOT NULL default '1',
    	 		actif tinyint(3) unsigned NOT NULL default '1',
    	 		ventes mediumint(8) unsigned NOT NULL default '0',
    	 		PRIMARY KEY (prd_id),
    	 		KEY date_entree (date_entree),
    	 		KEY actif (actif),
    	 		KEY ventes (ventes)
    	 		)";
    	try
    	{
    		$con->exec($categorie);
    		$con->exec($produits);
    	} catch(PDOException $e)
    	{
    		print 'Erreur ! : '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		echo 'N° : '.$e->getLine();
    		die();
    	}
    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    tu n'as pas besoin de mettre la base à la connexion

    je viens de tester ce code qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $pdo = new PDO('mysql:host=localhost', 'root', '', 
        array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
    );
     
    $heure = time();
    $requete = "CREATE DATABASE test$heure DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
    $pdo->prepare($requete)->execute();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une base avec access à partir de données Excel
    Par SBranchu dans le forum Modélisation
    Réponses: 12
    Dernier message: 28/01/2014, 16h40
  2. créer une base avec isql sur un serveur Linux Debian Squeeze
    Par symbabeauchat dans le forum Débuter
    Réponses: 2
    Dernier message: 13/05/2013, 13h21
  3. Réponses: 2
    Dernier message: 16/06/2010, 13h55
  4. [MySQL] Créer une base avec PHP
    Par loopback dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/01/2008, 11h06
  5. Créer une base Access avec Delphi
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/10/2005, 16h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo