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 des tables [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut Créer des tables
    Bonjour,
    je voudrai avoir un fichier qui me crée des tables au travers d'un formulaire mais auparavant une table à été crée mon code me génère une erreur sur la création de la base ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Erreur dans la création de la table! :
    SQLSTATE[42000]: Syntax error or access violation: 1065 Query was empty
    N° : 42000
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    <?php
    	$host = 'localhost'; // nom de la machine hôte
    	$user = 'root'; // nom de l'utilisateur
    	$pwd = 'xav';// mot de passe
     
    if(isset($_GET['nomBase']))
    {
    	try
    	{
    	$pdo = new PDO('mysql:host=localhost', 'root', 'xav', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
     
    		$base=$_GET['nomBase'];
    		$db = "CREATE DATABASE $base DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
    		$prep=$pdo->prepare($requete);
    		$exe=execute($prep);
    	}
    	catch (PDOException $e)
    	{
    		print 'Erreur dans la création de la table! :<br/> '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		echo 'N° : '.$e->getLine();
    		die();
    	}
    }
     
    if(isset($_GET['nomBase']))
    {
    	$db = $_GET['nomBase']; //nom de la base de données
     
    	try
    	{
     
    	$dsn = "mysql:dbname=$base;host=$host";
    	$con = new PDO($dsn, $user, $pwd, array(PDO::ATTR_PERSISTENT => true));
     
    	$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)
    			)";
    	$con->prepare($categorie)->execute();
    	$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)
    	 		)";
    		$con->prepare($categorie)->execute();
    	}
    	catch(PDOException $e)
    	{
    		print 'Erreur ! : '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		echo 'N° : '.$e->getLine();
    		die();
    	}
    }
    ?>
    Nous allons créer une base...
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
    nom de la base <input type="text" name="nomBase" /><br />
    <input type="submit" value="créer" />
    </form>
    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    Je mets le code pour ceux que sa interresse
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php
    	$host = 'localhost'; // nom de la machine hôte
    	$user = 'root'; // nom de l'utilisateur
    	$pwd = 'xav';// mot de passe
     
    if(isset($_GET['nomBase']))
    {
    	try
    	{
    	$pdo = new PDO('mysql:host=localhost', 'root', 'xav', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
     
    		$base=$_GET['nomBase'];
    		$db = "CREATE DATABASE $base DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
    		$prep=$pdo->prepare($db);
    		$prep->execute();
    	}
    	catch (PDOException $e)
    	{
    		print 'Erreur dans la création de la base ! :<br/> '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		echo 'N° : '.$e->getLine();
    		die();
    	}
    }
     
    if(isset($_GET['nomBase']))
    {
    	$db = $_GET['nomBase']; //nom de la base de données
     
    	try
    	{
     
    	$dsn = "mysql:dbname=$base;host=$host";
    	$con = new PDO($dsn, $user, $pwd, array(PDO::ATTR_PERSISTENT => true));
     
    	$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)
    			)";
    	$con->prepare($categorie)->execute();
    	$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)
    	 		)";
    		$con->prepare($categorie)->execute();
    	}
    	catch(PDOException $e)
    	{
    		print 'Erreur dans la créeation des tables ! : '.$e->getMessage().'<br/>';
    		echo 'N° : '.$e->getCode();
    		echo 'N° : '.$e->getLine();
    		die();
    	}
    }
    ?>
    Nous allons créer une base...
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
    nom de la base <input type="text" name="nomBase" /><br />
    <input type="submit" value="créer" />
    </form>

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

Discussions similaires

  1. Est-il possible de créer des tables avec des lignes identiques ?
    Par raton_laveur dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2009, 09h10
  2. Procédure Stockée pour créer des TABLE dynamiquement
    Par GuyverZ dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2009, 22h29
  3. Empecher un utilisateur de créer des tables
    Par Earl7 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/10/2008, 01h00
  4. [Modèle Relationnel] comment créer des tables à partir d'un MCD
    Par hafcher dans le forum Schéma
    Réponses: 3
    Dernier message: 17/06/2008, 08h47
  5. [ODBC]Créer des tables
    Par jacklafrip dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2006, 14h28

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