Mysql Parse error

Résolu
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
--
..:::ZIG1:::..

7 réponses

  1. 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
    1. 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
  2. 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
    1. Bonjour,

      Serait il possible d'avoir l'erreur exacte, stp ?
      0
      1. 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
    2. 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
      1. 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
    3. 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
      1. Merci :D
        Je savais que c'était une erreur idiote :D
        Merci pour votre aide
        0
        1. 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