Requête SQL

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Requête SQL

    Bonjour,

    Ma question n'est peut-être pas postée au bon endroit, mais je ne trouve pas la section "Développement" dans la liste des sections du Forum
    Je suis désolé de la poster ici.

    J'utilise une requête pour extraire certaine informations dans une table, aucun résultat ne s'affiche.

    Voici ma requête:

    Code PHP:
    <?php
    $Baybaud_ref 
    $_POST['ref']; ?>

    <?php
    $db 
    JFactory::getDbo();    
    $query $db->getQuery(true);    
    $query->select(array('id, client, description'))
           ->
    from($db->quoteName('#__baybaud_devis'))        
         
    //->where($db->quoteName('id')." = ".$db->quote($Baybaud_ref));
           
    ->where($db->quoteName('id')." = ".$db->quote 1);    
    $db->setQuery($query);    
    $resultat $db->loadAssoc();        
    $Baybaud_id $resultat['id'];
    $Baybaud_client $resultat['client'];
    $Baybaud_description $resultat['description'];

    echo 
    $Baybaud_id;
    echo 
    $Baybaud_client;
    echo 
    $Baybaud_description?>
    J'ai mis une capture écran de ma table en pièce jointe.

    Quelqu'un voit-il ce qui ne fonctionne pas ?

    Cordialement.


    EricCliquez sur l'image pour l'afficher en taille normale  Nom : Capture_table_baybaud_devis.JPG* Affichages : 0* Taille : 28,5 Ko* ID : 2003195
    Dernière édition par Agrepe à 15/07/2019, 16h57

  • #2
    Bonjour Eric,

    Sur ta commande ton erreur doit venir de $db->quote = 1. Essaie ->where($db->quoteName('id')." = 1")

    Pascal
    Agrepe aime ceci.
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      +1 avec Pascal :

      Dans la condition, tu peux "quoter" le 1 ou pas, pas de risque d'injection sql ici.

      Dans les rubriques selectionnées, si tu utilise un array, il faut mettre les rubriques 1 par 1, sinon pas besoin du array pour les rubriques.
      L'un des interêts de l'array est de pouvoir mettre les rubriques entre dbquotes, il faut donc mettre $db->quoteName avant le array..

      Voici la syntaxe la + propre :

      Code PHP:
      $query->select($db->quoteName(array('id''client''description')))
             ->
      from($db->quoteName('#__baybaud_devis'))        
             ->
      where($db->quoteName('id')." = ".$db->quote('1'); 

      sinon celle-là marche aussi :
      Code PHP:
      $query->select('id, client, description')
             ->
      from($db->quoteName('#__baybaud_devis'))        
             ->
      where($db->quoteName('id').' = 1'); 


      PS : le forum développement est tout tout en bas, à la racine et pas sous Joomla 3
      Dernière édition par roland_d_alsace à 12/07/2019, 16h05
      Agrepe aime ceci.
      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
      Rejoignez le Joomla Users Groupe Alsace...
      roland_d_alsace va-t-il devenir roland_du_grand_est ?

      Commentaire


      • #4
        Bonjour,
        Excusez-moi pour le retard de ma réponse à vos réponses.
        Tout d'abord un grand merci à vous deux.

        J'avais essayé en exploitant une variable pour
        ->where($db->quoteName('id')." = ".$db->quote($Baybaud_ref));
        Cette variable renvoyait la valeur 1, mais cela ne fonctionnait pas.

        J'ai donc fait comme vous m'expliquez.

        Code HTML:
        $query->select('nom, prenom, adresse, adresse2,...')
                    ->from($db->quoteName('#__baybaud_clients'))        
                    ->where($db->quoteName('id')." = ".$db->quote($Baybaud_client));          
        
                $db->setQuery($query);
                $resultat = $db->loadAssoc();
        
                $Baybaud_name = $resultat['nom'];
                $Baybaud_firstname = $resultat['prenom'];
                $Baybaud_adresse = $resultat['adresse'];
        La $Baybaud_client variable renvoie l'Id du client concerné.
        Cela fonctionne bien.

        Merci beaucoup pour vos explications.

        Cordialement.

        Eric

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X