Mysql Parse error

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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   Statut Membre Dernière intervention   387
 
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
 
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
 
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
 
Bonjour,

Serait il possible d'avoir l'erreur exacte, stp ?
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   387
 
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
 
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   Statut Membre Dernière intervention   387
 
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
 
Merci :D
Je savais que c'était une erreur idiote :D
Merci pour votre aide
0
Utilisateur anonyme
 
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