Aide pour optimiser l'écriture d'une requete PHP/MYSQL
3 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Aide pour optimiser l'écriture d'une requete PHP/MYSQL
Bonjour,
je débute en programmation php & mySQL, et j'aurai besoin de conseils...
Ma base est constituée de champs titres, description, date (etc.) et je souhaite pouvoir faire une recherche sur titre / description et par chronologie (anMin et anMax).
Les données sont saisies par un formulaire qui renvoie les variables à Recherche.php
Ma requête est la suivante :
$resultat = mysql_query ("SELECT * FROM refs_tbl WHERE titre LIKE '%$titre%'"
. " AND description LIKE '%$description%'"
." AND date BETWEEN '$anMin' AND '$anMax'"
, $connexion);
L'affichage des résultats se fait par :
while ($docs=mysql_fetch_object ($resultat))
{
echo '<tr>';
print $titre=$docs->titre;
[...]
Les défauts sont multiples :
- ça fonctionne mais pas si j'utilise deux mots dans le formulaire ;
exemple : je cherche chateau seul OK ; sable seul OK ; chateau de sable NON
- On m'a déconseillé le SELECT * (ça Ok je peux changer facilement en mettant les champs qui m'interressent)
- On m'a dit que c'est 'dangereux' à cause des risques d'injection de codes malveillants -> dans ce cas, puis-je traiter les chaines saisies dans le formulaire avant l'execution de la requete ?
- Ce qui est le plus difficile pour moi, on m'a conseillé d'utiliser la recherche avec MATCH et AGAINST ; mais je n'ai pas réussi à faire quelquechose de fonctionnel
Pourriez-vous me donner un exemple pour :
Je cherche dans la $table, dans les champs description et titre, ce qui ressemble à $saisie ? et affichage de résultat ?
Un grand merci d'avance à tous.
Nico.
je débute en programmation php & mySQL, et j'aurai besoin de conseils...
Ma base est constituée de champs titres, description, date (etc.) et je souhaite pouvoir faire une recherche sur titre / description et par chronologie (anMin et anMax).
Les données sont saisies par un formulaire qui renvoie les variables à Recherche.php
Ma requête est la suivante :
$resultat = mysql_query ("SELECT * FROM refs_tbl WHERE titre LIKE '%$titre%'"
. " AND description LIKE '%$description%'"
." AND date BETWEEN '$anMin' AND '$anMax'"
, $connexion);
L'affichage des résultats se fait par :
while ($docs=mysql_fetch_object ($resultat))
{
echo '<tr>';
print $titre=$docs->titre;
[...]
Les défauts sont multiples :
- ça fonctionne mais pas si j'utilise deux mots dans le formulaire ;
exemple : je cherche chateau seul OK ; sable seul OK ; chateau de sable NON
- On m'a déconseillé le SELECT * (ça Ok je peux changer facilement en mettant les champs qui m'interressent)
- On m'a dit que c'est 'dangereux' à cause des risques d'injection de codes malveillants -> dans ce cas, puis-je traiter les chaines saisies dans le formulaire avant l'execution de la requete ?
- Ce qui est le plus difficile pour moi, on m'a conseillé d'utiliser la recherche avec MATCH et AGAINST ; mais je n'ai pas réussi à faire quelquechose de fonctionnel
Pourriez-vous me donner un exemple pour :
Je cherche dans la $table, dans les champs description et titre, ce qui ressemble à $saisie ? et affichage de résultat ?
Un grand merci d'avance à tous.
Nico.
-

Patrice A. - Modérateur

- Messages: 2413
- Inscription: Ven Fév 11, 2005 19:36
Re: Aide pour optimiser l'écriture d'une requete PHP/MYSQL
the386mmx a écrit:- On m'a dit que c'est 'dangereux' à cause des risques d'injection de codes malveillants -> dans ce cas, puis-je traiter les chaines saisies dans le formulaire avant l'execution de la requete ?
Utilise la fonction PHP mysql_real_escape_string() qui est faite justement pour éviter ces codes injectés.
Pour match() against(), fais une recherche sur les clefs FULLTEXT, on en a même parlé récemment sur WRI.
3 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gestion des langues et des sessions en PHP / MySQL
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- Google API : guide de développement de l'API Google
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Informations sur l'infrastructure technique de Google
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Guide d'optimisation des redirections pour le référencement
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006
- Passage à l'heure d'été/hiver sur un forum phpBB
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Optimiser une requete MySQL
- Requete Mysql AIDE svp !
- Aide pour requête MySQL
- Aide pour une requête MySQL
- Aide requete PHP
- Tableau et requete php/mysql
- PHP -> Aide pour une requête
- Aide pour une requête PHP
- requête sql en php pour mysql
- Récupérer résultat requête php/mysql dans Flash Mx
- [PHP/MYSQL] Besoin d'aide dans une requête
- Php/MySQL Utiliser pls fois le résultat d'une seule requête
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum