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 :

Comment savoir si ma requête s'est bien exécutée ? [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut Comment savoir si ma requête s'est bien exécutée ?
    A en voir le titre vous me direz d'aller voir dans ma base, mais c'est déjà fait et aucun changement ...

    Donc je voudrais faire un DELETE grâce à PDO.
    Voici mon code.

    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
    	if(isset($_POST)){
    		$tableName = $_POST["table"];
    		$column = $_POST["column"];
    		$valeur = $_POST["valeur"];
    		$requete = "DELETE FROM  :table WHERE :colonne = :valeur;";
    	}
     
    	$connexion = new PDOConnexion();
    	$statement = $connexion->initialize($requete);
     
    	/*$statement->bindParam(":table",$tableName);
    	$statement->bindParam(":colonne",$column);
    	$statement->bindParam(":valeur",$valeur);*/
     
    	$statement->execute(array(
    		    ':table'   => $tableName,
    		    ':colonne' => $column,
    		    ':valeur'  => $valeur));
     
    	$_SESSION["suppression"] = true;
    	echo $connexion->recupererDatasTable($tableName,true);
    L'objet PDOConnexion me créer une instance de ma classe PDO qui me sert à utiliser l'objet.
    Mon ->initialize($requete) me fait l'équivalent du prepare, mais dans ma classe.
    Mes parmètres en POST sont bien renseignés, j'ai vérifié, et donc quand je lance mon code, je ne vois aucune erreur, mais pourtant quand je vais dans ma base cela ne se fait pas.
    J'ai essayé ma requête à la main sur phpMyAdmin et ça passe aussi,

    J'ai peut être fait une erreur toute bête mais là je sèche ...

    Merci d'avance,


  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
    Les noms des tables et des colonnes ne peut pas être passé en paramètre.
    Tu devrais activer les erreurs PDO quand tu debug.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut
    Ah bah je en savais rien vois tu !
    Comment s'active le debug PDO s'il te plaît ?

    Comment pourrais-je faire alors ? Je dois préparer ma requête avec mes variables de table et de colonne puis de binder ma Value mais pas le reste c'est bien ça ?

    Merci en tout cas pour ta réponse !

  4. #4
    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
    Pour tout savoir sur les erreurs avec pdo :
    http://php.net/manual/fr/pdo.error-handling.php

    Effectivement, pour les noms des tables et des colonnes, tu dois les concaténer comme des chaines de caractères. Prends toutes les précautions nécessaires.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut
    J'ai fait comme tu m'as dit, et pas de soucis, en concaténant directement ma colonne, et mon nom de table c'est passé, donc je n'ai même pas pu voir de message d'erreurs, mais je compte en voir par la suite en travaillant PDO

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

Discussions similaires

  1. [QtGui] Comment savoir si l'application Qt est bien lancée ?
    Par sygirard dans le forum PyQt
    Réponses: 8
    Dernier message: 03/08/2015, 17h58
  2. Comment savoir si ma page web est bien affiché ?
    Par Borowsky dans le forum Langage
    Réponses: 1
    Dernier message: 03/02/2010, 17h07
  3. Comment savoir si une requete c'est bien passé
    Par choubak dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2007, 15h26
  4. Réponses: 6
    Dernier message: 12/09/2006, 11h08
  5. Comment savoir si une impression s'est bien déroulé?
    Par Cyrilh7 dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/11/2003, 20h49

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