Problème de requête sql dans un formulaire

Petit nouveau ! | 2 Messages

01 mars 2020, 23:54

Bonjour,

J'ai crée un petit scripte php / sql et j'ai un petit soucis.

Mon script permet de chercher un mot dans une table "traducteur"

Quand je fais une recherche d'un mot dans la table il me le trouve et il me l'affiche, donc c'est très bien MAIS mon soucis c'est quand je saisie un mot avec un espace après ou un espace avant il ne me le trouve pas, même si le mot existe bien dans la table.

Donc ma question est de savoir comment modifier ma requête ci-dessous, de façon à ce qu'il ne tienne pas compte des espaces dans mon formulaire de recherche.

$sql = "SELECT * FROM traducteur WHERE fr LIKE '" . $_POST['trad'] . "%';";
Je pense qu'il faut mettre un % après le LIKE mais j'ai un message d'erreur : Parse error

Je vous remercie par avance de votre aide.

Mammouth du PHP | 1341 Messages

02 mars 2020, 00:04

https://www.php.net/manual/fr/function.trim.php si le seul problème est l'espace avant ou après la chaine.

Mammouth du PHP | 512 Messages

03 mars 2020, 14:43

+1, je rajouterais de bien sécuriser le champ $_POST['trad'] si c'est en style procédural pour éviter les injections SQL

Petit nouveau ! | 2 Messages

03 mars 2020, 15:31

Bonjour,

Désolé, je débute et je ne sais pas comment mettre en place tout cela 😔
Merci de votre aide

Mammouth du PHP | 512 Messages

03 mars 2020, 15:46

Pour trim, l'utiliser comme une fonction sur $_POST['trad']
Pour sécuriser les champs des injections SQL, des tutos sur le net sont dispo à propos des injections SQL
https://fr.wikipedia.org/wiki/Injection_SQL
https://zestedesavoir.com/tutoriels/945 ... -tutoriel/

Ne jamais faire confiance à ce que l'utilisateur peut entrer dans les champs du formulaire.