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

Langage PHP Discussion :

Variable de type INT dans un SELECT WHERE


Sujet :

Langage PHP

  1. #21
    Invité
    Invité(e)
    Par défaut
    Quelle est ta version de PHP ?

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql_select->execute(array(':id_echoppe' =>$id_echoppe));

  2. #22
    Membre averti
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Toujours le même souci : Page vierge avec la requête préparée, même en liant le paramètre (int) séparément... Curieux car la requête fonctionne bien sous PMA, et le code aussi sans souci si la requête n'est pas préparée...
    Ma config (si besoin) :
    Version php : 7.2.18
    Navigateur Chrome
    wampserveur 3.1.9
    Editeur : Sublime Text

    Code actuel qui pose problème : ça tourne au défi cette histoire ;-) !
    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
    <?php
    try{$bdd = new PDO('mysql:host=localhost;dbname=les_zechoppes;charset=utf8', 'root', '');}
    catch(Exception $e){die('Erreur : '.$e->getMessage());}
     
    /****************************************************************************/
     
    $id_echoppe = (int)$_POST['id_echoppeF'];
     
    $sql_select = $bdd->prepare("SELECT produit.nom as nom_produit, fournisseur.nom as nom_fournisseur FROM produit INNER JOIN fournisseur ON produit.idfournisseur=fournisseur.id WHERE fournisseur.id_echoppe = :id_echoppe ");
    $sql_select->bindValue(':id_echoppe', (int)$id_echoppe, PDO::PARAM_INT);
    $sql_select->execute();
     
    while ($donnees = $sql_select->fetch())
    {
    ?>
        <p>
        <?php echo 'Produit '.$donnees['nom_produit'].' du fournisseur '.$donnees['nom_fournisseur']; ?>
       </p>
    <?php
    }
     
    $sql_select->closeCursor();
    ?>

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

    Remets un try/catch autour.

  4. #24
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Si tu as une page blanche, c'est que ça plante avant ou pendant le script, regarde le log du site tu vas y trouver où ça plante.

  5. #25
    Membre averti
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Si tu as une page blanche, c'est que ça plante avant ou pendant le script, regarde le log du site tu vas y trouver où ça plante.
    C'est à dire ? Pour l'instant je suis en local sous wamp. Comment puis je regarder ce log ? Où se trouve t il...
    Ce que j'ai fait pour l'instant c'est d'afficher le code source de la page (vierge) généré par mon code dans chrome ... et sans surprise ça donne ... une page vierge !! Mon code ne génère donc aucune ligne html lisible par le navigateur, d'où la page vierge !! Est ce une piste pour trouver le problème dans mon code ?! Car là je deviens chauve à force de m'arracher les cheveux sur mon problème !! A noter que je l'ai (grâce à vous) résolu sans passer par une requête préparée, mais j'aimerai comprendre pourquoi ça ne fonctionne pas en passant par une requête préparée...

  6. #26
    Membre averti
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    Remets un try/catch autour.
    Je l'ai mis ainsi (mais ça ne donne rien, toujours page vierge) :

    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
    32
    33
    34
    <?php
     
    try
    {
    	try{$bdd = new PDO('mysql:host=localhost;dbname=les_zechoppes;charset=utf8', 'root', '');}
    	catch(Exception $e){die('Erreur : '.$e->getMessage());}
     
    	/****************************************************************************/
     
    	$id_echoppe = "";
    	$sql_select = "";
     
    	$id_echoppe = (int)$_POST['id_echoppeF'];
     
    	$sql_select = $bdd->prepare("SELECT produit.nom as nom_produit, fournisseur.nom as nom_fournisseur FROM produit INNER JOIN fournisseur ON produit.idfournisseur=fournisseur.id WHERE fournisseur.id_echoppe = :id_echoppe ");
    	$sql_select->bindValue(':id_echoppe', (int)$id_echoppe, PDO::PARAM_INT);
    	$sql_select->execute();
     
    	while ($donnees = $sql_select->fetch())
    	{
    	?>
    	    <p>
    	    <?php echo 'Produit '.$donnees['nom_produit'].' du fournisseur '.$donnees['nom_fournisseur']; ?>
    	   </p>
    	<?php
    	}
     
    	$sql_select->closeCursor();
    }
    catch(Exception $e)
    {
    	die('Erreur : '.$e->getMessage());
    }
    ?>

  7. #27
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je vais poser une question bête : quel est le type de id_echoppe dans la base ?
    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]

  8. #28
    Membre averti
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Citation Envoyé par Celira Voir le message
    Je vais poser une question bête : quel est le type de id_echoppe dans la base ?
    Non non pas bête du tout, je n'avais pas eu le réflexe de m'en assurer. Mais c'est bien du int().
    int(11) !

    Nom : Capture.JPG
Affichages : 92
Taille : 41,3 Ko

  9. #29
    Membre averti
    Homme Profil pro
    entrepreneur
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : entrepreneur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut
    Bonjour à tous,

    Déjà un grand grand merci à tous pour vos réponses et conseils.

    Je n'ai pas réussi à totalement solutionner le problème en passant par une requête préparée (page vide, sans erreur, et sans écriture dans la table). Mais pour info/rappel sans requête préparée mon problème était résolu. Depuis 15 jours j'ai pas mal avancé sur mon projet, j'ai rencontré pas mal d'os que j'ai réussit à ronger tout seul mais là j'en rencontre un gros (pour moi) qui ressemble au problème rencontré ici sur la fin de nos échanges... Pour autant ce problème ne concerne pas le sujet initial. Je préfère donc le clôturer pour ne pas mélanger les genres , et en ouvrir un autre !

    Merci encore pour vos aides sur le problème que j'avais rencontré ici au départ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/01/2008, 09h54
  2. Critère de type texte dans une clause WHERE
    Par VBBBA dans le forum Access
    Réponses: 4
    Dernier message: 03/09/2006, 16h23
  3. Réponses: 8
    Dernier message: 16/08/2006, 14h39
  4. [Tableaux] Variable de type array dans un formulaire
    Par ThAOTh dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2006, 17h49
  5. Réponses: 3
    Dernier message: 23/02/2006, 09h37

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