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 :

requete INSERT avec PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut requete INSERT avec PDO
    Bonjour,
    Mon travail actuel consiste à ajouter des données dans une base de données via un script php. J'utilise donc PDO pour effectuer les requêtes SQL.

    Voici mon code actuel pour insérer une ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $req = $bdd -> prepare("INSERT INTO wp_wysija_list(name, namekey, is_enabled, is_public, created_at)
    								VALUES(:nomgroupe, :namekey, 1, 1, :dateTimestamp)");
    		$req -> execute(array(
    			'nomgroupe' => $nomgroupe,
    			'namekey' => $namekey,
    			'time' => $dateTimestamp
    		));
    Mes variables sont remplis antérieurement par un JSON, voici ce qu'elles contiennent lorsque je fais un echo :

    $nomgroupe : Prospect Test
    $namekey : prospect-test
    $dateTimestamp : 147853312 (pas exactement, mais c'est la valeur renvoyée par la fonction time() )

    Ce code s'exécute sans erreurs apparentes, mais la ligne n'est pas insérée dans ma BD. Je pense que le problème viens des quotes dans VALUES(...).

    Enfin, le code suivant fonctionne mais est bcp moins propre puisqu'il n'utilise pas correctement le replace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req = $bdd -> prepare("INSERT INTO wp_wysija_list(name, namekey, is_enabled, is_public, created_at)
    								VALUES('".$nomgroupe."', '".$namekey."', 1, 1, '".$dateTimestamp."')");
              $req -> execute();
    Ce code ajoute donc correctement la ligne dans la BD.

    J'ai essayé vraiment beaucoup de manipulations de mes variables autour des quotes, mais rien n'y fait. J'en appel donc à votre aide !

    Merci d'avance de l'attention que vous portez à mon problème. N'hésitez pas si vous avez besoin de plus d'informations.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis 'dateTimestamp' dans la requête et 'time' dans l'execution.

    Active les erreurs PDO quand tu developpes :
    http://php.net/manual/fr/pdo.error-handling.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    J'ai honte d'avoir posté ça.. En effet cette erreur toute bête en était la cause, je viens de perdre 2h pour ça.. Comme quoi, il faut être capable de prendre du recul quand on programme !

    Oui, pour les erreurs sql, j'avais essayé un peu avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($req->errorInfo());
    mais j'ai l'impression que ca ne fonctionne pas tout le temps. Je vais donc prendre du temps pour les obtenir correctement, je pense que ce sera du temps gagné au final

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

Discussions similaires

  1. [SQL-Server] requete insert avec jointure
    Par diadie dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/07/2008, 12h45
  2. Requete insertion avec des select
    Par miketidy dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/05/2008, 10h36
  3. Requete insert avec select
    Par nanette38 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 26/03/2008, 16h21
  4. [RegEx] Ecrire une requete INSERT avec des variables $_POST
    Par arnaudperfect dans le forum Langage
    Réponses: 10
    Dernier message: 13/06/2007, 15h12
  5. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 19h05

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