Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème caractère dans Requête sql

Sujet résolu
    30 novembre 2021 à 18:58:39

    Bonsoir,

    J'ai une table avec un champ way sous la forme Plants/index

    J'ai besoin d'une fonction pour récupérer Plants

    J'ai donc fait la fonction suivante mais le système me dit que il y a une division par zéro

    public function searchPages(){
    
        return $this->sql("SELECT * FROM pages WHERE (substr(pages.way, 0, strpos(pages.way,"/"))) =?",['Plants']);
      } 

    Je suppose que c'est dû au séparateur qui est pris comme le signe division.

    Comment résoudre ce problème ?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      30 novembre 2021 à 19:22:54

      Tu mets des " en plein dans la requête donc le / est une division vu qu'on est revenu sur le code PHP d'où la division par zéro (la cast en int du restant de la chaîne donnant 0).

      Remplace "/" par '/'.

      Quel SGBD ?

      way LIKE 'Plants/%' aurait été plus simple ? (enfin, way LIKE CONCAT(?, '/%'))

      -
      Edité par julp 30 novembre 2021 à 19:25:58

      • Partager sur Facebook
      • Partager sur Twitter
        30 novembre 2021 à 20:28:51

        Merci Julp effectivement je n'ai pas réfléchi au ' '

        Tout de suite après avoir posté j'ai pensé effectivement à like et cela marche, j'aurais du y penser avant

        Merci beaucoup Julp

        • Partager sur Facebook
        • Partager sur Twitter

        Problème caractère dans Requête sql

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown