Rercherche Db
Fermé
stampia02
Messages postés
95
Date d'inscription
samedi 30 juillet 2011
Statut
Membre
Dernière intervention
13 mai 2017
-
28 mars 2017 à 14:46
stampia02 Messages postés 95 Date d'inscription samedi 30 juillet 2011 Statut Membre Dernière intervention 13 mai 2017 - 2 avril 2017 à 12:11
stampia02 Messages postés 95 Date d'inscription samedi 30 juillet 2011 Statut Membre Dernière intervention 13 mai 2017 - 2 avril 2017 à 12:11
A voir également:
- Rercherche Db
- Db viewer - Télécharger - Gestion de données
- Db designer - Télécharger - Bases de données
- Bp bc db - Forum Mobile
- Signifié les abrévations des titres au classement de foot - Forum Loisirs / Divertissements
- Db editor - Télécharger - Utilitaires
3 réponses
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 28 mars 2017 à 15:09
Modifié le 28 mars 2017 à 15:09
Bonjour,
Dans cette requête :
la requête SQL une fois les variables remplacées devient :
Or la bonne syntaxe est avec les % à l'intérieur de la chaîne de caractères :
Xavier
Dans cette requête :
$query = "SELECT * FROM livres WHERE titre LIKE %'".$mot."'%";
la requête SQL une fois les variables remplacées devient :
SELECT * FROM livres WHERE titre LIKE %'mot'%
Or la bonne syntaxe est avec les % à l'intérieur de la chaîne de caractères :
SELECT * FROM livres WHERE titre LIKE '%mot%'
Xavier
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
524
28 mars 2017 à 15:21
28 mars 2017 à 15:21
Salut,
Si ce n'est pas déjà fait, commence par activer l'affichage des erreurs PHP : http://www.infowebmaster.fr/tutoriel/afficher-erreur-php
Si tu utilises PDO, active l'affichage des erreurs sql : https://www.php.net/manual/fr/pdo.error-handling.php
As tu des erreurs après avoir activé leurs affichages ?
La méthode "rowcount" retourne le nombre de ligne affectée par une requête DELETE, UPDATE ou INSERT mais ne garantie pas de retourner le nombre de ligne d'une requête SELECT.
Voir https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1076
Enfin, nous n'avons pas le code où tu affiches les résultats de ta recherche.
Bonne journée,
Si ce n'est pas déjà fait, commence par activer l'affichage des erreurs PHP : http://www.infowebmaster.fr/tutoriel/afficher-erreur-php
Si tu utilises PDO, active l'affichage des erreurs sql : https://www.php.net/manual/fr/pdo.error-handling.php
As tu des erreurs après avoir activé leurs affichages ?
La méthode "rowcount" retourne le nombre de ligne affectée par une requête DELETE, UPDATE ou INSERT mais ne garantie pas de retourner le nombre de ligne d'une requête SELECT.
Voir https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1076
Enfin, nous n'avons pas le code où tu affiches les résultats de ta recherche.
Bonne journée,
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
29 mars 2017 à 00:37
29 mars 2017 à 00:37
'lut,
au passage, tu n'utilises pas les requêtes préparées, et ton code montre clairement une vulnérabilité d'injection SQL:
Explications plus approfondies ici.
Doc PHP sur les requêtes préparées là.
au passage, tu n'utilises pas les requêtes préparées, et ton code montre clairement une vulnérabilité d'injection SQL:
$_POST['keyword']finit inséré directement dans ta requête SQL.
Explications plus approfondies ici.
Doc PHP sur les requêtes préparées là.
28 mars 2017 à 15:28
Modifié le 28 mars 2017 à 15:37
Ta ligne doit ressembler à ça :
Xavier
(PS : quitte à utiliser les guillemets doubles, autant inclure les variables simples directement dans le texte comme je l'ai fait, ça facilite la lecture et évite la multiplication des . et des ")
28 mars 2017 à 17:49
29 mars 2017 à 00:08
29 mars 2017 à 09:57
Tu as une erreur de syntaxe dans ton bloc d'insertion, du coup le script s'arrêtait là.
Le parenthésage est foireux. Il faut mettre :
Xavier