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 :

Insertion en base de données ne se fait pas [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut Insertion en base de données ne se fait pas
    Bonjour,
    J'ai une table vide. Je fais une insertion. rowCount() me renvoie 1 mais la table reste désespérément vide (contrôle dans phpMyAdmin).

    Voici mon code:
    Code php : 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
    	try {
     
    		$db->beginTransaction();
     
    		$query = "
    			INSERT INTO req_request (
    				id_abo, sender_id, sender_lastname, sender_firstname, sender_mail, sender_address, sender_country, sender_postcode, sender_locality, sender_phone
    			)
    			VALUES (
    				:id_abo, :sender_id, :sender_lastname, :sender_firstname, :sender_mail, :sender_address, :sender_country, :sender_postcode, :sender_locality, :sender_phone
    			)
    		;";
    		$result = $db->prepare($query);
    		$result->execute($toSaveInRequest);
    		var_dump($result->rowCount());
    	}
    	catch (Exception $e) {
    		echo $e->getMessage();
    	}
    EDIT: Nouvel essai:
    Si j'ajoute ceci à la fin de mon code, j'obtiens bien le résultat escompté mais dans phpMyAdmin ma table reste désespérément vide:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	foreach ($db->query('select * from req_request') as $row) {
    		var_dump($row);
    	}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Que contient $toSaveInRequest ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Que contient $toSaveInRequest ?
    Ceci:
    Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    C:\wamp64\www\proginet\appGenealium\updateQuery.php:113:
    array (size=10)
      'id_abo' => string '1' (length=1)
      'sender_id' => int 22
      'sender_lastname' => string 'P' (length=1)
      'sender_firstname' => string 'M' (length=1)
      'sender_mail' => string 'moimp@orange.fr' (length=15)
      'sender_address' => string '' (length=0)
      'sender_country' => string '' (length=0)
      'sender_postcode' => string '' (length=0)
      'sender_locality' => string '' (length=0)
      'sender_phone' => string '' (length=0)

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je vois un beginTransaction mais pas de commit. Est-ce normal ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- tu fais un INSERT.
    Si, comme je le pense fortement, "id_abo" est l'index auto-incrémenté :
    • il faut définir 'id_abo' à NULL dans l'array $toSaveInRequest.
    • ou le supprimer purement et simplement de la requête et de l'array.


    2- tu as un try catch.
    Mais as-tu bien activé la gestion des exceptions au moment de la connexion ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    Merci Celira, c'était bien ça. J'aurais du y penser mais par manque d'habitude, je suis passé à côté, d'autant que mon code n'est pas terminé.

    jreaux62,
    1-non la clef primaire s'appelle id_req et n'est pas dans l'array.
    2-Oui, les exceptions sont activées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 20
    Dernier message: 23/09/2017, 17h28
  2. Insert dans base Access qui ne se fait pas, mais sans erreur
    Par muppetshow dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/01/2010, 21h37
  3. Réponses: 9
    Dernier message: 13/10/2005, 18h24
  4. Word et insertion de base de données
    Par beauchastel dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 13/10/2005, 17h54
  5. Réponses: 8
    Dernier message: 11/05/2005, 14h48

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