Php creation de table

Fermé
louseb84 - 24 août 2010 à 15:37
 sebdu84 - 26 août 2010 à 02:22
salut tous le monde,

voila j'ai un petit soucis car je viens de recuperer un code php pour l'envoi de mail en html sur un site communautaire de programmation pour le quel il me faut creer une table a l'aide d'une requete SQL mais celle si me renvoi une erreur de syntax en ligne 1 et malgret un poste sur le site en question personne ne repond.......

la requete en question....:

CREATE TABLE newsletter (
id int(10) not null default '' auto_increment,
courriel varchar(255) not null default '',
date varchar(10) not null default '',
PRIMARY KEY ('id')
)TYPE=MYISAM;

le poste d'origine date de 2004 et donc je me demande si le changement des normes php depuis cette date ne sont pas a l'origine de l'erreur de syntax. je suis en php5....

si quelqu'un pouvais m'expliquer quelles sont les valeurs a appliquer au different champ de la table pour la creation en manuelle sa serait super cool....
merci d'avance



A voir également:

6 réponses

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
24 août 2010 à 15:43
Bonjour,

Tu as cru que le code que tu viens de nous mettre était du php? C'est du SQL.
Ouvre PhpMyAdmin et colle la requête dedans, ça ira tout seul =)
Sinon en php:
<?php
  mysql_connect("", "", "");  //à toi de remplir les coordonnées de ta DB
  mysql_select_db("");   //à toi de remplir le nom de ta base
  mysql_query("CREATE TABLE newsletter ( id int(10) not null default '' auto_increment, courriel varchar(255) not null default '', date varchar(10) not null default '',PRIMARY KEY ('id'))TYPE=MYISAM; ");
?>


Enfin par contre.. des guillemets comme t'as mis.. c'est tout tout moche, et faux! " c'est pas '' (un double est pas égal a deux simples.. t'as une touche pour les doubles...)
0
salut
non je n'ai pas confondu le code avec du php... c'est le script d'envoi de la newsletter qui est en php.

j'envoi bien cette requete dans l'onglet SQL de phpmyadmin apres avoir creer une base et sa me renvoi cette erreur de syntax sur la ligne 1.....

je vais essayer en passant par une requete php comme tu viens de me l'expliquer et reviens vers toi si l'erreur ce produit a nouveau.....

la requete SQL n'est pas de moi...... :( j'ai honte mais j'ai pas le temps de me pencher sur la creation de mon formulaire d'envoi de news....

merci
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
24 août 2010 à 15:55
Ok, alors commence par dégager tous les doubles guillemets pour en mettre des véritables doubles. Actuellement, c'est des simples qui sont juxtaposés.
Ensuite, colle nous le texte complet de l'erreur.

Et passe par PHPMyAdmin, tu te prendra moins la tête.
0
bien vu pour les guillemets.... on progresse...!!!

l'erreur c'est deplacer a la ligne primary key...

le code erreur

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '", PRIMARY KEY ('id') )TYPE=MYISAM' at line 3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
autrement pour faire plus simple tu ne pourrait pas me dire quel valeur mette dans quel champ sur ma table afin que je la creer en manuel....???


c'est une table a trois champ, ID, courriel et date.

ID :

type-------------------> INT....??
taille/valeur---------->
defaut---------------->
interclassement---->
attribus-------------->
null------------------->
index----------------> primary...??
auto-increment---> cocher....??
commentaire------>

courriel :

type-------------------> varchar....??
taille/valeur---------->
defaut---------------->
interclassement---->
attribus-------------->
null------------------->
index---------------->
auto-increment--->
commentaire------>

date :

type-------------------> varchar....??
taille/valeur---------->
defaut---------------->
interclassement---->
attribus-------------->
null------------------->
index---------------->
auto-increment--->
commentaire------>

et en moteur de stockage mettre myisam

desoler de parraitre autant lourd mais j'ai du mal a comprendre a quoi correspond le (10) et le (255) derriere ID et varchar ainsi que le not null default "

encore merci de ton aide
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
24 août 2010 à 17:56
J'ai déplacé le sujet en "base de donnée" parce que.. bein je sais pas trop ^^
0
ok merci en esperant que quelqu'un arrive a m'eguiller la bas
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
24 août 2010 à 18:45
Essaye de cette façon :

create table newsletter
(
id int(10) not null auto_increment, 
courriel varchar(255) not null default '', 
date varchar(10) not null default '',
primary key(id)
);


Autre possibilité :

create table newsletter
(
id int(10) not null primary key auto_increment, 
courriel varchar(255) not null default '', 
date varchar(10) not null default ''
);


0
salut et merci pour ton coup de main....!!!
la premiere methode etait la bonne......

c'est donc le default qui ne peut pas s'appliquer au champ ID en faite...????
encore merci
seb
0
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
25 août 2010 à 22:04
Il n'y a effectivement pas de valeur default pour un champ en auto_increment, vu que la valeur par défaut du champ est forcément connue (1, puis 2, 3...).
0
ok merci de la confirmation....

c'est le genre d'echange qui fait que l'on ce couche moins con et une des nombreuses raisons qui font que l'apprentissage de la programmation me semble etre une etape essencielle pour la suite des evenements......!!!!

l'URL de mon site (en construction) si sa te dit d'allai y faire un tour et de me dire ce que tu en as penser...:
www.louseb-photographie.com
seb
0