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 :

Executer une requête préparée d'un fichier différent dans une fonction


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut Executer une requête préparée d'un fichier différent dans une fonction
    Bonjour,

    Je débute avec PDO...
    J'ai dissocié mes requêtes préparées PDO dans un fichier à part et je cherche à les appeler dans une fonction (il s'agit d'une fonction qui calcule un frais de port à partir du poids.)
    Je fais un global des variables et la premiere PoidsMaxReq fonctionne parfaitement, par contre la deuxième (qui a un bindParam) ne fonctionne pas.


    Fichier de fonctions :
    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
     
    function BasketShipTotal($poidsTotal)
    {
        global $TrouveTrancheLivrReq;
        global $PoidsMaxReq;
     
        $PoidsMaxReq-> execute();
        $PoidsMaxTab = $PoidsMaxReq->fetch();
        $PoidsMax = $PoidsMaxTab['poids_port'];
     
        $nbcolis = ceil($poidsTotal/$PoidsMax);
        $poidsrestant = $poidsTotal;
     
        for($icolis=0;$icolis<$nbcolis;$icolis++)
        {
                if($poidsrestant < $PoidsMax){
                $poidsrequete = $poidsrestant;
                }else{
                $poidsrestant = $poidsrestant-$PoidsMax;
                $poidsrequete = $PoidsMax;
                }
     
                $TrouveTrancheLivrReq -> execute();
                $TrouveTrancheLivrTab = $TrouveTrancheLivrReq->fetch();
                $pxtotal = $pxtotal + $TrouveTrancheLivrTab["px_port"];
        }   
     
        return $pxtotal;  
    }

    Fichier de requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sqlPoidsMax = "SELECT * FROM `$table_port` ORDER BY `poids_port` DESC";	
    $PoidsMaxReq = $bdd->prepare($sqlPoidsMax);
     
    $sqlTrouveTrancheLivr   = "SELECT * FROM `$table_port` WHERE `poids_port` >=:poids ORDER BY `poids_port` ASC";	
    $TrouveTrancheLivrReq   = $bdd->prepare($sqlTrouveTrancheLivr);
    $TrouveTrancheLivrReq -> bindParam(':poids', $poidsrequete);
    Avez vous une idée ?

    Merci.

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Active les erreurs PDO et debug ta requête :

    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
     
    // Active les erreurs PDO au moment où tu fais ta connexion
    try {
        $dbh = new PDO($dsn, $user, $password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        echo 'Échec lors de la connexion : ' . $e->getMessage();
    }
     
    //Et fait afficher l'erreur correspondante quand tu exécute ta requête
    try {
         $TrouveTrancheLivrReq -> execute();
    } catch (PDOException $e) {
        echo 'erreur : ' . $e->getMessage();
    }

Discussions similaires

  1. Récupérer un fichier posté dans une requête POST
    Par monstor dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 14/09/2011, 18h52
  2. Réponses: 4
    Dernier message: 23/09/2010, 15h17
  3. [PDO] Échappement dans une requête préparée
    Par shadeoner dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/05/2010, 21h16
  4. Réunir des colonnes de tables différentes dans une requête
    Par GCAccess dans le forum Modélisation
    Réponses: 3
    Dernier message: 13/03/2009, 23h59
  5. Compter les Dates différentes dans une requête Access
    Par maxireus dans le forum Modélisation
    Réponses: 2
    Dernier message: 11/05/2007, 00h02

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