Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'insertion

Toutes les valeurs ne s'insère pas...

Sujet résolu
    15 mai 2011 à 22:24:14

    Bonsoir à toutes et à tous,

    J'ai un soucis assez génant avec ma base de données MySQL que je fais tourner sur mon serveur XAMPP. Je vous mets un bout de code et les explications qui vont avec toute suite :

    $req = $bdd->query("CREATE TABLE images (ID INT, nom VARCHAR(255), descriptif VARCHAR(255), views INT)"); // creation de la table images vide
    			for ($i = 0 ; $i < count($tableauImages) ; $i++) {
    				$bdd->exec("INSERT INTO images (ID,nom,descriptif,views) VALUES ('".$i."','".$tableauImages[$i]."','".$tableauDescriptions[$i]."','0')  "); 
    			}
    


    Donc la première ligne crée la table, a priori tout se passe correctement (enfin j'en suis sûr).
    Là où je ne comprends pas, c'est que quelques valeurs pourtant bien présentent dans mes tableaux ne sont pas insérer.

    Dans le doute, j'avais même fait un echo dans la boucle pour vérifier et je pouvais visualiser correctement toutes les valeurs. Il ne manquait rien avec ce code..
    echo '<h3>Insertion de : ' . $tableauImages[$i] . " : " . $tableauDescriptions[$i] . '</h3>' ;
    


    Pourtant je constate qu'une fois toutes les insertions faites, il y a des "trous" dans ma base. A savoir, si je prends le champ ID comme exemple, il y a les entrées suivantes : 1, 2, 4, 5, 6, 7, 8 ... , 17, 19, 20, 21 et il manque 22 (ensuite j'ai fini mes insertions). Donc pour résumer il manque 3,6,18,22 et je ne comprends absolument pas pourquoi...

    J'espère que vous pourrez m'éclairer parce que là je perds espoir :(
    • Partager sur Facebook
    • Partager sur Twitter
    « Imagination is more important than knowledge. » Albert Einstein.
      17 mai 2011 à 18:48:06

      Petit up ?
      • Partager sur Facebook
      • Partager sur Twitter
      « Imagination is more important than knowledge. » Albert Einstein.
        17 mai 2011 à 21:41:26

        Apparement tu n'échappes pas tes chaînes donc à coup sûr certains caractères de tes descriptions sont interprétés comme des éléments SQL (ex ') faisant planter les INSERT correspondants. Ouvre une doc et lis la partie concernant PDO::quote, les requêtes préparée, mysql_real_escape_string ou je ne sais quelle autre méthode ayant le même objectif.

        Tracker.
        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2011 à 22:09:42

          Ha mais oui ! Je suis vraiment trop c... de pas y avoir penser, ça parait tellement évident maintenant :/

          Dans la mesure où je suis certain maintenant que le soucis vient de là, je mets en résolu. Réflexes de bases que j'avais totalement zappé...

          Merci pour ton aide.
          • Partager sur Facebook
          • Partager sur Twitter
          « Imagination is more important than knowledge. » Albert Einstein.

          Problème d'insertion

          × 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