Mysql Parse error

Résolu/Fermé
Utilisateur anonyme - 7 déc. 2005 à 11:23
 Utilisateur anonyme - 7 déc. 2005 à 13:23
Bonjour à tous ...
J'ai un petit souci ...
Je créer une table temporaire mais ca me fait une parse error

ma commande est
CREATE [TEMPORARY] TABLE envoie (email TYPE Varchar(255) NOT NULL)

Ceci étant inclus dans une commande php
TableCrea = faire_requete("CREATE [TEMPORARY] TABLE envoie (email TYPE Varchar(255) NOT NULL)","bd1");

Mais il semblerait que l'erreur soit dans la commande Mysql puisque même sous PhpMyAdmin l'erreur persiste

Merci pour votre aide

7 réponses

GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
7 déc. 2005 à 11:26
Dans la documentation, lors qu'il est écrit [TEMPORAY], cela veut dire que le mot "TEMPORARY" n'est obligatoire, pas qu'il doit s'écrire "[TEMPORARY]".
Si tu veut créer une table temporaire écrit :
CREATE TEMPORARY TABLE envoie (email TYPE Varchar(255) NOT NULL) 

sinon écrit simplement :
CREATE TABLE envoie (email TYPE Varchar(255) NOT NULL) 
0
Utilisateur anonyme
7 déc. 2005 à 11:34
Merci pour l'indication concernant les [ ] parceque j'étais loin d'y penser ...
L'erreur continue avec ou sans le 'temporary' dans mon interface mais la requete fonctionne sous PhpMyAdmin

0
Utilisateur anonyme
7 déc. 2005 à 11:27
J'ai enlevé le 'TYPE' qui n'a rien a y faire ... mais l'erreur persiste ...
Je suis sur que c'est une erreur stupid ....

J'ai juste besoin d'un autre oeil

Merci d'avance
0
Utilisateur anonyme
7 déc. 2005 à 11:33
Bonjour,

Serait il possible d'avoir l'erreur exacte, stp ?
0
Utilisateur anonyme
7 déc. 2005 à 11:35
Biensur ....


Parse error: parse error in d:\bd1\envoie.inc on line 19

et la ligne 19 est :
TableCrea = faire_requete("CREATE TABLE envoie (email Varchar(255) NOT NULL)","bd1");
0
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
7 déc. 2005 à 11:37
L'erreur ne vient pas de MySQL, mais de PHP. Tu as une erreur au niveau de la ligne 19 ou de la ligne précédente (un point virgule oublié ? ).
0
Utilisateur anonyme
7 déc. 2005 à 11:41
Ben, ce que je ne comprend pas c'est avant la création de cette ligne l'erreur n'existait pas et en plus c'est un else

$NSC = explode('-',$serviceTotal);
$NSCt = strtok($serviceTotal,'-');
if(in_array('5',$NSC)):
$QUERYecrRECIPIENT = faire_requete("SELECT email, id, flag FROM bd WHERE flag='on'", "bd1");
else :
TableCrea = faire_requete("CREATE TABLE envoie (email Varchar(255) NOT NULL, id Int(255) NOT NULL)","bd1");

Et "ca marché trés bien" avant l'ajout de cette ligne

0

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

Posez votre question
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
7 déc. 2005 à 11:44
A ta ligne 19, rajoute un "$" avant le nom de ta variable:
$TableCrea = faire_requete("CREATE TABLE envoie (email Varchar(255) NOT NULL, id Int(255) NOT NULL)","bd1"); 
0
Utilisateur anonyme
7 déc. 2005 à 11:45
Merci :D
Je savais que c'était une erreur idiote :D
Merci pour votre aide
0
Utilisateur anonyme
7 déc. 2005 à 13:23
En général, les Parse Error viennent d'une erreur de ponctuation, un ; ou un $ oublié.

Les erreurs SQL ne ressemblent pas à ca. :)
0