Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2008, 22h16   #1
Membre habitué
 
Inscription : août 2004
Messages : 451
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 451
Points : 137
Points : 137
Envoyer un message via MSN à artotal
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 :
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 :
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
__________________
contribution sur phpclasses d'une classe de connection à une base de donnée en php5
http://www.phpclasses.org/browse/file/23687.html
artotal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2008, 22h42   #2
Membre habitué
 
Inscription : août 2004
Messages : 451
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 451
Points : 137
Points : 137
Envoyer un message via MSN à artotal
Je mets le code pour ceux que sa interresse
Code :
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>
__________________
contribution sur phpclasses d'une classe de connection à une base de donnée en php5
http://www.phpclasses.org/browse/file/23687.html
artotal est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h04.


 
 
 
 
Partenaires

Hébergement Web