Création de table

Utilisateur anonyme - 11 mars 2005 à 20:14
JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005 - 13 mars 2005 à 14:18
Bonsoir, j'ai une petite question, comment crée des tables mysql à l'aide du php ?

En fait j'aimerais pouvoir créer une installation automatiser pour mon site, mais la création des table ne fonctionne pas.

Voici un bout de mon code :



require("../admin/config.php");

$sql = 'CREATE TABLE `album` ( `id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,'

. ' `album` varchar( 50 ) default NULL ,'

. ' `date` varchar( 15 ) NOT NULL default \'\','

. ' `description` text NOT NULL ,'

. ' PRIMARY KEY ( `id` ) )
TYPE MYISAM AUTO_INCREMENT 29;# MySQL n\'a retourné aucun
enregistrement.'

. ' INSERT INTO `album` '

. ' VALUES ( 28, \'Les
Chats\', \'09-03-2005\', \'Quelques photos de chats.\' ) ;# Nombre
d\'enregistrements affectés :1'

. ' INSERT INTO `album` '

. ' VALUES ( 27, \'Album
photo\', \'21-02-2005\', \'Album photo de vacances\' ) ;# Nombre
d\'enregistrements affectés :1'

. ' INSERT INTO `album` '

. ' VALUES ( 21, \'aaaaaa\',
\'21-02-2005\', \'Quelque photos provenant de Spymac\' ) ;# Nombre
d\'enregistrements affectés :1'

. ' ';

mysql_query($sql)

or die('Erreur SQL !'.$sql.'

'.mysql_error());



Mais cela ne fonctionne pas, si quelqu'un a une idée

Merci


1 réponse

JeanPoldeux Messages postés 64 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 5 août 2005
13 mars 2005 à 14:18
Il y a une erreur dans la requête SQL INSERT. Il faut
indiquer le nom des champs auxquels tu attribues une valeur. Il n'est
pas non plus nécessaire de repéter INSERT into si tu veux créer
plusieurs enregistrements dans une même table.



De plus, tu déclares ta clé primaire en auto-incrémentation,
c'est-à-dire fixée par le serveur MySQL, dans la création de la table
et tu fournis une valeur fixe pour la clé dans tes insertions.



Voici une correction:

<?php

$sql = 'CREATE TABLE `album` ( `id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,'

. ' `album` varchar( 50 ) default NULL ,'

. ' `date` varchar( 15 ) NOT NULL default \'\','

. ' `description` text NOT NULL ,'

. ' PRIMARY KEY ( `id` ) ) TYPE MyISAM AUTO_INCREMENT 29;'

. ' INSERT INTO `album`(`album`,`date`,`description`) '

. ' VALUES (\'Les Chats\', \'09-03-2005\', \'Quelques photos de chats.\' ),'

. ' VALUES (\'Album photo\', \'21-02-2005\', \'Album photo de vacances\' ),'

. ' VALUES (\'aaaaaa\', \'21-02-2005\', \'Quelque photos provenant de Spymac\' );';

?>



Jean Poldeux

Every problem has a solution. The difficulty is to find it.
0
Rejoignez-nous