Besoin d'aide avec mon code php
Fermé
chaimatn_95
Messages postés
3
Date d'inscription
samedi 4 mai 2019
Statut
Membre
Dernière intervention
5 mai 2019
-
Modifié le 5 mai 2019 à 09:53
chaimatn_95 Messages postés 3 Date d'inscription samedi 4 mai 2019 Statut Membre Dernière intervention 5 mai 2019 - 5 mai 2019 à 14:48
chaimatn_95 Messages postés 3 Date d'inscription samedi 4 mai 2019 Statut Membre Dernière intervention 5 mai 2019 - 5 mai 2019 à 14:48
A voir également:
- Besoin d'aide avec mon code php
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
1 réponse
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
5 mai 2019 à 10:10
5 mai 2019 à 10:10
Bonjour,
J'ai effectué quelques corrections
- Ne pas mélanger l'écriture mysqli objet et procédurale,
- Ne pas utiliser le htmlentities ou le htmpspecialchar autre que pour de l'affichage (jamais pour des requetes )
- Ajout de gestion d'erreur sur la requête
- Ecriture du code de façon logique
- Utiliser un "return" dans une fonction au lieu d'y mettre directement des echo
- Utilisation de jointure dans la requête au lieu de faire des "sous requêtes" dans des boucles
- Correction de certaines variables ..
bref
Et si ça ne fonctionne toujours pas, tu devrais avoir, dans le message de retour la requête qui devrait apparaitre.
De là... tu la copie/colle directement dans ton phpmyadmin et tu regarde si elle fonctionne ou non....
Si elle n'y fonctionne pas.. ton souci vient de ta requete
J'ai effectué quelques corrections
- Ne pas mélanger l'écriture mysqli objet et procédurale,
- Ne pas utiliser le htmlentities ou le htmpspecialchar autre que pour de l'affichage (jamais pour des requetes )
- Ajout de gestion d'erreur sur la requête
- Ecriture du code de façon logique
- Utiliser un "return" dans une fonction au lieu d'y mettre directement des echo
- Utilisation de jointure dans la requête au lieu de faire des "sous requêtes" dans des boucles
- Correction de certaines variables ..
bref
//require require_once "functions.php"; require_once "forme.php"; //fonctions function recherche($search) { $connex = connexion_db(); $req = 'SELECT M.* ,U.pseudo FROM messages M LEFT JOIN users U ON U.id = M.id_user WHERE message LIKE "%'.mysqli_real_escape_string($connex, $search) .'%"'; $result = mysqli_query($connex,$req); if(!$result){ return " Error description: " . mysqli_error($connex); } if ( mysqli_num_rows($result)> 0 ) { $return = ""; //variable qui contiendra le resultat à retourner while($row = mysqli_fetch_row($result)) { $id_mes = $row['id']; $message = $row['message']; //variable non utilisée ? $id_user = $row['id_user']; //j'ai corrigé cette ligne... $pseudo = $row['pseudo']; $return .= '<div id="liste"> <a href="forum.php?id_mes='.$id_mes.'">'.$message.'</a> '; $return .= $pseudo; $return .= '</div><hr>'; } } else { $return = "Il n'y a rien qui corresponde à votre recherche <br> dans la requete : $req "; } mysqli_close($connex); return $return; } //récupération propre des variables avant de les utiliser $search = !empty($_GET['s']) ? $_GET['s'] : NULL; //début de l'affichage : echo '<h2> Recherche </h2>'; if ($search ){ $resultat = recherche($search); echo $resultat; }
Et si ça ne fonctionne toujours pas, tu devrais avoir, dans le message de retour la requête qui devrait apparaitre.
De là... tu la copie/colle directement dans ton phpmyadmin et tu regarde si elle fonctionne ou non....
Si elle n'y fonctionne pas.. ton souci vient de ta requete
5 mai 2019 à 11:32
5 mai 2019 à 12:21
5 mai 2019 à 14:48