Syntaxe de "INSERT INTO"

Résolu
Bonjour à tous,

Je rencontre une difficulté concernant la syntaxe du "INSERT INTO".

En effet, j'ai créé une requête de la forme:
$query=("INSERT INTO regionnaux VALUES 
		('".$num_wagon."',
		 '".$num1."',
		 '".$num2."',
		 '".$type."',
		 '".$carac_wagon."',
		 '".$attache."',
		 '".$utilisateur."',
		 '".$lieu."',
		 '".$point_attach."',
		 '".$date_dernier_aff."',
		 '".$com_util."',
		 '".$proch_vt."',
		 '".$proch_rev."',
		 '".$obs."',
		 '".$tri_etabli."')");

Cette requête doit créer un enregistrement dans les 15 champs de ma table "regionnaux".

Malheureusement cela ne fonctionne pas, rien ne s'enregistre !

Où ai-je une erreur dans cette syntaxe ?

D'avance merci les gens,
MoMo
Configuration: Windows Vista
Internet Explorer 6584.0

7 réponses

  1. Merci à tous pour les réponses,
    Il se trouve en effet que ma table avait plus de champs que ce que je voulais remplir !
    J'ai corrigé ceci avec des
    ' '
    vides et ça fonctionne.
    merci !
    1. voici la base on vois bien 6 enregistrement :
      Base de données iciturquie_db - table sondage
      Votre requête SQL a été exécutée avec succès
      requête SQL : [Modifier]
      ALTER TABLE `sondage` DROP `choix`;

      [ Afficher ] [ Sélectionner ] [ Insérer ] [ Vider ] [ Supprimer ]
      Champ Type Attributs Null Défaut Extra Action
      choix1 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix2 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix3 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix4 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix5 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix6 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      choix7 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      pseudo tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      resultat tinyint(20) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
      Pour la sélection : Pour la sélection : Ou

      Espace utilisé :
      Type Espace
      Données 60 Octets
      Index 1 024 Octets
      Total 1 084 Octets
      Statistiques :
      Information Valeur
      Format fixe
      Enregistrements 6
      Longueur enr. ø 10
      Taille enr. ø 181 Octets

      et voici ce que ca donne quand je fait afficher :

      Base de données iciturquie_db - table sondage
      Affichage des enregistrements 0 - 6 (6 total)
      requête SQL : [Modifier]
      SELECT * FROM `sondage` LIMIT 0, 30

      lignes à partir de

      choix1 choix2 choix3 choix4 choix5 choix6 choix7 pseudo resultat
      Modifier Effacer 0 0 0 0 0 0 0 0 0
      Modifier Effacer 0 0 0 0 0 0 0 0 0
      Modifier Effacer 0 0 0 0 0 0 0 0 0
      Modifier Effacer 0 0 0 0 0 0 0 0 0
      Modifier Effacer 0 0 0 0 0 0 0 0 0
      Modifier Effacer 0 0 0 0 0 0 0 0 0

      lignes à partir de

      Insérer un nouvel enregistrement

      Intitulé :

      des 0 partout
      1. Contributeur
        Vérifie :

        - La syntaxe du nom de la table et des champs
        - Via un echo sur chaque variable, que tes variables ne sont pas vides
        - Le message d'erreur exact affiché.

        1. j'ai le même problème voici mes codes:

          mysql_query("INSERT INTO sondage (choix1, resultat)"." VALUES ('$choix', '$pseudo' ) ")
          or die("Impossible d'insérer le résultat du sondage : ".mysql_error());
          echo "Merci";
          ?>
          1. Contributeur
            Merci de créer un nouveau sujet pour ton problème, sinon on ne va pas s'y retrouver entre ton problème et celui de l'initiateur du sujet.

        2. Bonjour

          Si ta table a bien 15 champs, tu n'es pas obligé de les préciser dans la requête. A-t-elle bien 15 champs ?

          Mais surtout pour savoir ce qui se passe vraiment, il faut afficher le message d'erreur avec
          mysql_query($query) or die (mysql_error());
          1. avant de mettre ton values tu dois inserer les champs que tu souhaite enregistrer
            dmcmd.runsql "insert into tatable(cham1 , camp2...)values(" & me.champ1 & ",....