IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur sur un INSERT INTO


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 32
    Par défaut Erreur sur un INSERT INTO
    Bonjour à tous j'ai un soucis sur une requete, en effet je souhaite simplement récupérer les données d'une table (bonlivraison) puis les copier dans une autre table (composants) mais j'obtient l'erreur suivant que j'arrive pas à corriger. ci-dessous mon code et l'erreur.

    merci d'avance de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    $reponse2 = $bdd->query('SELECT * FROM bonlivraison');
     
    if ($reponse2->rowCount() > 0)
        {
     
     // On affiche chaque entrée une à une
    while ($donnees2 = $reponse2->fetch()){
     
      $donnees2a = $bdd->prepare('INSERT INTO composants(
                                                        composant,
                                                        appartenance,
                                                        type,
                                                        version,
                                                        jira)
                                                VALUES (:composants,
                                                        :appartenance,
                                                        :type,
                                                        :version,
                                                        :jira)') or die(print_r($bdd->errorInfo()));
     
                      $donnees2a->execute(array(   'composant' => $donnees2['composant'],
                                                'appartenance' => $donnees2['appartenance'],
                                                        'type' => $donnees2['type'],
                                                     'version' => $donnees2['version'],
                                                        'jira' => $donnees2['jira'] ));
     
        }
    $reponse2->closeCursor(); // Termine le traitement de la requête
    }


    Erreur que j'obtient:
    Nom : Capture.PNG
Affichages : 129
Taille : 51,8 Ko

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $donnees2a->execute(array(
        'composant' => $donnees2['composant'],
        'appartenance' => $donnees2['appartenance'],
        'type' => $donnees2['type'],
        'version' => $donnees2['version'],
        'jira' => $donnees2['jira'] ));
    Le placeholder :composants dans la requête comporte un s mais pas la clef du tableau associatif passée en paramètre de PDOStatement::execute().

    D'autre part, quel est l'intérêt de placer un PDO::prepare() dans une boucle? Sors le de là, la requête on la prépare une seule fois, c'est suffisant.

    À noter que tu peux alimenter une requête d'insertion directement avec un SELECT en une seule requête (ce qui évite de le faire en PHP):
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO composants (composant, appartenance, type, version, jira)
    SELECT composant, appartenance, type, version, jira
    FROM bonlivraison

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 32
    Par défaut
    Effectivement pas mal d'incohérence, merci pour ton aide, je modifie ca ce soir et je te tiens au courant, merci de ton aide en tous cas

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 32
    Par défaut
    super ça a fonctionné, merci de ton aide

Discussions similaires

  1. message d'erreur sur requete INSERT
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2007, 13h21
  2. erreur sur l'insertion des commentaires dans excel
    Par fulgaro dans le forum Excel
    Réponses: 1
    Dernier message: 19/02/2007, 08h09
  3. [SQL] Erreur lors de INSERT INTO => WHERE
    Par DeFCrew dans le forum Access
    Réponses: 14
    Dernier message: 07/08/2006, 16h26
  4. Erreur 3134 sur un INSERT INTO
    Par walden dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/07/2006, 14h08
  5. [MySQL / Access] : incompatibilité sur un INSERT INTO ...
    Par guidav dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/04/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo