[SQL] Meme requete qui ne donne pas le meme résultat

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par iBarker, 12 Avril 2012.

  1. iBarker
    iBarker Nouveau WRInaute
    Inscrit:
    12 Avril 2012
    Messages:
    4
    J'aime reçus:
    0
    Bonjour à tous,

    j'ai un petit problème que je n'arrive pas à résoudre. Voici une requête SQL :

    Code:
    SELECT * FROM Documents WHERE title LIKE '%thèse%'
    Quand je tape cette requête directement dans PHPMyAdmin, j'ai 2 résultats. Cependant j'ai voulu faire un moteur de recherche, donc voici une partie de mon code PHP :

    Code:
    <?php   
    $req = $bdd->query("SELECT * FROM Documents WHERE title LIKE '%thèse%'");   
    
    while ($donnees = $req->fetch())
    {
        echo "test !";
    					
    } 
    ?>
    
    
    Le problème c'est que "test" ne s'affiche jamais, on ne rentre donc jamais dans le while !
    Pour info, ma base de données est en utf8 ainsi que les pages de mon site.
    J'ai remarqué que dès que je tape un accent dans le moteur de recherche, je n'ai jamais de résultats trouvés.

    Auriez-vous une solution car là je ne vois pas du tout le problème 8O

    Merci beaucoup ! :)
     
  2. _Soul
    _Soul WRInaute impliqué
    Inscrit:
    26 Avril 2011
    Messages:
    626
    J'aime reçus:
    0
    Essaye avec un fetchAll + foreach, ça marche bien mieux en général ;)
     
  3. franckM
    franckM WRInaute impliqué
    Inscrit:
    15 Novembre 2007
    Messages:
    808
    J'aime reçus:
    0
    Et si tu essaies simplement ça:
    Code:
    <?php   
    $req = mysql_query("SELECT * FROM Documents WHERE title LIKE '%thèse%'");   
    
    while ($donnees = mysql_fetch_array($req))
    {
        echo "test !";
                   
    }
    ?>
    
    Pour les accents, as-tu mis en tête dans ton code APRES LA CONNEXION SQL:
    Code:
    mysql_query("SET NAMES UTF8");
     
  4. iBarker
    iBarker Nouveau WRInaute
    Inscrit:
    12 Avril 2012
    Messages:
    4
    J'aime reçus:
    0
    Merci à vous ! En fait le problème venait bien de l'encodage des caractères. Je trouve que c'est bien plus simple de travailler en iso-8859-1 qu'en utf-8 !
    J'ai donc utilisé des utf8_encode et des utf8_decode et ça marche :)
     
  5. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Euh ? Dans ce cas cela veut simplement dire que ton fichier était en caractères windows. Pour travailler (simplement) en utf-8 il faut simplement faire attention à ce que les fichiers textes soient enregistrés en utf-8
     
  6. iBarker
    iBarker Nouveau WRInaute
    Inscrit:
    12 Avril 2012
    Messages:
    4
    J'aime reçus:
    0
    Toutes mes pages étaient encodées en ut8 par défaut (via le logiciel) mais j'avais oublié de déclarer ceci :
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> :roll:

    Une fois déclaré, tout est rentré dans l'ordre.
     
Chargement...
Similar Threads - [SQL] requete donne Forum Date
[sql] clé étrangaire Développement d'un site Web ou d'une appli mobile 9 Mai 2014
[SQL] Changement d'etat d'une table au bout de x jours Développement d'un site Web ou d'une appli mobile 26 Avril 2012
[SQL] Recherche dans une base de données Développement d'un site Web ou d'une appli mobile 7 Juin 2011
[SQL] une somme un peu spéciale... Développement d'un site Web ou d'une appli mobile 1 Avril 2011
[SQL] Stocker nombre à virgules Développement d'un site Web ou d'une appli mobile 21 Octobre 2010
[SQL] Element pas dans le IN Développement d'un site Web ou d'une appli mobile 23 Février 2010
Nettoyage de requètes externes de Google, comment faire? Administration d'un site Web 24 Octobre 2020
encodage texte sur requete mysql Demandes d'avis et de conseils sur vos sites 21 Octobre 2020
Requête MySql imbriquée Développement d'un site Web ou d'une appli mobile 8 Octobre 2020
Comment se placer sur des requêtes inhabituelles dû au confinement Rédaction web et référencement 25 Mars 2020