Partage
  • Partager sur Facebook
  • Partager sur Twitter

[mysql]Problème création table

et question sur les fichiers php

Sujet résolu
    9 mai 2008 à 20:39:56

    Bonjour, alors voila, j'ai un petit problème, j'essaye de créer une table via php, voici mon code :
    La toute première requete marche, mais pour le reste il me sort une erreur de ce type :
    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 ''news' ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_membre` int(11) NOT NUL' at line 1
    C'est bizarre parce que je ne vois pas de différence entre la première table et les suivantes (question syntaxe)



    Sinon, j'ai 2 petites questions :
    -J'ai installé xampp sur mon pc, et mes fichiers php se trouvent dans "c:\xampp\www" mais je voudrais répertorier des fichiers qui sont dans d'autres dossiers (du style "D:\photos"). J'ai essayé en entrant le chemin sous la forme "D:\...\ mais ça n'a rien donné, avez vous une idée?
    -Savez vous où je pourrai trouver les attributs de la fonction header?




    Merci d'avance pour vos réponses


    <?php
    mysql_connect("localhost", "Sylvain", "davincicode") or die(mysql_error());
    mysql_select_db("superrouviere") or die(mysql_error());
    mysql_query("CREATE TABLE 'mp' (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `sujet` varchar(255) NOT NULL DEFAULT '',
    `expediteur` varchar(255) NOT NULL DEFAULT '',
    `destinataire` varchar(255) NOT NULL DEFAULT '',
    `message` text NOT NULL,
    `timestamp` bigint(20) NOT NULL DEFAULT '0',
    `vu` enum('0','1') NOT NULL DEFAULT '0',
    `efface` enum('0','1','2') NOT NULL DEFAULT '0',
    KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
    
    mysql_query("CREATE TABLE 'news'(
    'id' int(11) NOT NULL AUTO_INCREMENT,
    'id_membre' int(11) NOT NULL DEFAULT '',
    'pseudo' varchar(255) NOT NULL DEFAULT '',
    'titre' varchar(255) NOT NULL DEFAULT '',
    'contenu' text NOT NULL,
    'valeur' enum('0', '1') NOT NULL DEFAULT '0'
    'date' timestamp bigint(20) NOT NULL DEFAULT '0',
    KEY 'id'('id')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
    
    mysql_query("CREATE TABLE 'membres'(
    'id' int(11) NOT NULL AUTO_INCREMENT,
    'typecompte' enum('1638', '5274', '9012') NOT NULL DEFAULT '1638',
    'pseudo' varchar(255) NOT NULL DEFAULT '',
    'mdp' varchar(255) NOT NULL DEFAULT '',
    'nom' varchar(255) NOT NULL DEFAULT '',
    'prenom' varchar(255) NOT NULL DEFAULT '',
    'ville' varchar(255) NOT NULL DEFAULT '',
    'date' timestamp bigint(20) NOT NULL DEFAULT '0',
    'loisirs' varchar(255) NOT NULL DEFAULT '',
    'id_amis' mediumint(9) NOT NULL DEFAULT '',
    'email' varchar(255) NOT NULL DEFAULT '',
    'msn' varchar(255) NOT NULL DEFAULT '',
    'skype' varchar(255) NOT NULL DEFAULT '',
    'icq' varchar(255) NOT NULL DEFAULT '',
    'avatar' varchar(100) NOT NULL DEFAULT '',
    'site' varchar(255) NOT NULL DEFAULT '',
    'redirectionc' varchar(255) NOT NULL DEFAULT '',
    redirectionu' varchar(255) NOT NULL DEFAULT '',
    KEY 'id'('id')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
    
    
    mysql_select_db("project_zero") or die(mysql_error());
    mysql_query("CREATE TABLE 'news'(
    'id' int(11) NOT NULL AUTO_INCREMENT,
    'id_membre' int(11) NOT NULL DEFAULT '',
    'pseudo' varchar(255) NOT NULL DEFAULT '',
    'titre' varchar(255) NOT NULL DEFAULT '',
    'contenu' text NOT NULL,
    'valeur' enum('0', '1') NOT NULL DEFAULT '0'
    'date' timestamp bigint(20) NOT NULL DEFAULT '0',
    KEY 'id'('id')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
    
    mysql_query("CREATE TABLE 'membres'(
    'id' int(11) NOT NULL AUTO_INCREMENT,
    'typecompte' enum('1638', '5274', '9012') NOT NULL DEFAULT '1638',
    'pseudo' varchar(255) NOT NULL DEFAULT '',
    'mdp' varchar(255) NOT NULL DEFAULT '',
    'nom' varchar(255) NOT NULL DEFAULT '',
    'prenom' varchar(255) NOT NULL DEFAULT '',
    'ville' varchar(255) NOT NULL DEFAULT '',
    'date' timestamp bigint(20) NOT NULL DEFAULT '0',
    'loisirs' varchar(255) NOT NULL DEFAULT '',
    'id_amis' mediumint(9) NOT NULL DEFAULT '',
    'email' varchar(255) NOT NULL DEFAULT '',
    'msn' varchar(255) NOT NULL DEFAULT '',
    'skype' varchar(255) NOT NULL DEFAULT '',
    'icq' varchar(255) NOT NULL DEFAULT '',
    'avatar' varchar(100) NOT NULL DEFAULT '',
    'site' varchar(255) NOT NULL DEFAULT '',
    'redirectionc' varchar(255) NOT NULL DEFAULT '',
    redirectionu' varchar(255) NOT NULL DEFAULT '',
    KEY 'id'('id')
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
    
    
    ?>
    


    • Partager sur Facebook
    • Partager sur Twitter
      9 mai 2008 à 22:11:44

      salut,
      enlève les apostrophes qui entourent le nom de la table dans ta requête.
      • Partager sur Facebook
      • Partager sur Twitter
        9 mai 2008 à 23:49:01

        bon, ben j'ai supprimé les apostrophes du nom des tables et aussi du nom des champs, mais ça me donne toujours le même genre d'erreur :
        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 'timestamp bigint(20) NOT NULL DEFAULT '0', KEY id('id') ) ENGINE=MyISAM DEFAUL' at line 8
        et le code :
        <?php
        mysql_connect("localhost", "Sylvain", "davincicode") or die(mysql_error());
        mysql_select_db("superrouviere") or die(mysql_error());
        mysql_query("CREATE TABLE mp (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `sujet` varchar(255) NOT NULL DEFAULT '',
        `expediteur` varchar(255) NOT NULL DEFAULT '',
        `destinataire` varchar(255) NOT NULL DEFAULT '',
        `message` text NOT NULL,
        `timestamp` bigint(20) NOT NULL DEFAULT '0',
        `vu` enum('0','1') NOT NULL DEFAULT '0',
        `efface` enum('0','1','2') NOT NULL DEFAULT '0',
        KEY `id` (`id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
        
        mysql_query("CREATE TABLE news(
        id int(11) NOT NULL AUTO_INCREMENT,
        id_membre int(11) NOT NULL DEFAULT '',
        pseudo varchar(255) NOT NULL DEFAULT '',
        titre varchar(255) NOT NULL DEFAULT '',
        contenu text NOT NULL,
        valeur enum('0', '1') NOT NULL DEFAULT '0'
        timestamp bigint(20) NOT NULL DEFAULT '0',
        KEY id('id')
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
        
        mysql_query("CREATE TABLE membres(
        id int(11) NOT NULL AUTO_INCREMENT,
        typecompte enum('1638', '5274', '9012') NOT NULL DEFAULT '1638',
        pseudo varchar(255) NOT NULL DEFAULT '',
        mdp varchar(255) NOT NULL DEFAULT '',
        nom varchar(255) NOT NULL DEFAULT '',
        prenom varchar(255) NOT NULL DEFAULT '',
        ville varchar(255) NOT NULL DEFAULT '',
        timestamp bigint(20) NOT NULL DEFAULT '0',
        loisirs varchar(255) NOT NULL DEFAULT '',
        id_amis mediumint(9) NOT NULL DEFAULT '',
        email varchar(255) NOT NULL DEFAULT '',
        msn varchar(255) NOT NULL DEFAULT '',
        skype varchar(255) NOT NULL DEFAULT '',
        icq varchar(255) NOT NULL DEFAULT '',
        avatar varchar(100) NOT NULL DEFAULT '',
        site varchar(255) NOT NULL DEFAULT '',
        redirectionc varchar(255) NOT NULL DEFAULT '',
        redirectionu varchar(255) NOT NULL DEFAULT '',
        KEY id('id')
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
        
        
        mysql_select_db("project_zero") or die(mysql_error());
        mysql_query("CREATE TABLE news(
        id int(11) NOT NULL AUTO_INCREMENT,
        id_membre int(11) NOT NULL DEFAULT '',
        pseudo varchar(255) NOT NULL DEFAULT '',
        titre varchar(255) NOT NULL DEFAULT '',
        contenu text NOT NULL,
        valeur enum('0', '1') NOT NULL DEFAULT '0'
        timestamp bigint(20) NOT NULL DEFAULT '0',
        KEY id('id')
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
        
        mysql_query("CREATE TABLE membres(
        id int(11) NOT NULL AUTO_INCREMENT,
        typecompte enum('1638', '5274', '9012') NOT NULL DEFAULT '1638',
        pseudo varchar(255) NOT NULL DEFAULT '',
        mdp varchar(255) NOT NULL DEFAULT '',
        nom varchar(255) NOT NULL DEFAULT '',
        prenom varchar(255) NOT NULL DEFAULT '',
        ville varchar(255) NOT NULL DEFAULT '',
        timestamp bigint(20) NOT NULL DEFAULT '0',
        loisirs varchar(255) NOT NULL DEFAULT '',
        id_amis mediumint(9) NOT NULL DEFAULT '',
        email varchar(255) NOT NULL DEFAULT '',
        msn varchar(255) NOT NULL DEFAULT '',
        skype varchar(255) NOT NULL DEFAULT '',
        icq varchar(255) NOT NULL DEFAULT '',
        avatar varchar(100) NOT NULL DEFAULT '',
        site varchar(255) NOT NULL DEFAULT '',
        redirectionc varchar(255) NOT NULL DEFAULT '',
        redirectionu varchar(255) NOT NULL DEFAULT '',
        KEY id('id')
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1") or die(mysql_error());
        
        
        ?>
        
        • Partager sur Facebook
        • Partager sur Twitter
          10 mai 2008 à 0:10:16

          Salut, tu peux toujours creer tes tables via phpmyadmin puis cliquer sur "source php" (ou un truc comme ca). Ca va te donner ce que tu dois mettre dans tes mysql_query.
          Sinon, as-tu testé tes requetes sur MySQL ?
          • Partager sur Facebook
          • Partager sur Twitter
            10 mai 2008 à 0:28:20

            Ouais, je sais que je peux faire via phpmyadmin, mais j'aimerai savoir ce qui cloche... c'est comme ça qu'on apprend ^^:p
            Que veux tu dire par tester mes requêtes?
            J'ai vérifié avec phpmyadmin et je trouve toujours pas :(
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              10 mai 2008 à 0:37:01

              Bonsoir,

              Voila:
              <?php 
              mysql_query("CREATE TABLE membres(
              id int(11) NOT NULL AUTO_INCREMENT,
              typecompte enum('1638', '5274', '9012') NOT NULL DEFAULT '1638',
              pseudo varchar(255) NOT NULL DEFAULT '',
              mdp varchar(255) NOT NULL DEFAULT '',
              nom varchar(255) NOT NULL DEFAULT '',
              prenom varchar(255) NOT NULL DEFAULT '',
              ville varchar(255) NOT NULL DEFAULT '',
              timestamp bigint(20) NOT NULL DEFAULT '0',
              loisirs varchar(255) NOT NULL DEFAULT '',
              id_amis mediumint(9) NOT NULL,
              email varchar(255) NOT NULL DEFAULT '',
              msn varchar(255) NOT NULL DEFAULT '',
              skype varchar(255) NOT NULL DEFAULT '',
              icq varchar(255) NOT NULL DEFAULT '',
              avatar varchar(100) NOT NULL DEFAULT '',
              site varchar(255) NOT NULL DEFAULT '',
              redirectionc varchar(255) NOT NULL DEFAULT '',
              redirectionu varchar(255) NOT NULL DEFAULT '',
              KEY id (id)
              ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;") or die(mysql_error());
              ?>
              


              Valeur indiqué pour le champ id_amis j'ai supprimé le DEFAULT '0',
              rajouté la valeur du premier incrément, et rajouté le ; avant la fermeture de la requête de création.
              et les côtes dans le KEY id (id)
              • Partager sur Facebook
              • Partager sur Twitter
                10 mai 2008 à 0:57:29

                Merci mais ça marche toujours pas :(
                A priori ça vient de la requete sur la table "news" :
                <?php
                mysql_query("CREATE TABLE news(
                id int(11) NOT NULL AUTO_INCREMENT,
                id_membre int(11) NOT NULL DEFAULT '',
                pseudo varchar(255) NOT NULL DEFAULT '',
                titre varchar(255) NOT NULL DEFAULT '',
                contenu text NOT NULL,
                valeur enum('0', '1') NOT NULL DEFAULT '0',
                timestamp bigint(20) NOT NULL DEFAULT '0',
                KEY id(id)
                ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;") or die(mysql_error());
                ?>
                
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mai 2008 à 1:20:04

                  le problème vient de tes valeurs par défaut (DEFAULT);
                  si tu n'as pas de valeur à mettre pour ces champs par défaut, ne met rien .
                  Donc

                  CREATE TABLE news(
                  id int(11) NOT NULL AUTO_INCREMENT,
                  id_membre int(11) NOT NULL ,
                  pseudo varchar(255) NOT NULL ,
                  titre varchar(255) NOT NULL ,
                  contenu text NOT NULL,
                  valeur enum('0', '1') NOT NULL DEFAULT '0',
                  timestamp bigint(20) NOT NULL DEFAULT 0,
                  KEY id(id)
                  ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 mai 2008 à 12:13:26

                    Merci, ça marche :)
                    sinon, une réponse pour mes 2 petites questions?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [mysql]Problème création table

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown