Aller au contenu

Replace SQL ?


sandrinoo

Sujets conseillés

Hello à tous !

 

je me bats depuis hier avec un truc qui me parait simple mais je ne comprends pas ce que je fais de mal.

 

Voilà, j'ai une variable $var avec des tirets et dans ma base de données mysql j'ai les mêmes valeurs mais sans tiret (avec un espace à la place). Donc je pensais faire pour récupérer les données de la BD :

 

SELECT var FROM bd WHERE REPLACE (var, '', '-')  = '$var'

 

Mais ça ne fonctionne pas, j'ai pas le droit de faire ce genre de manip ?

 

(Je précise que l'interclassement de ma BD est en utf8mb4_unicode_ci et que je me connecte à elle également en utf8mb4_unicode_ci avec un "mysqli_set_charset($con, "utf8mb4");")

Modifié par sandrinoo
Lien vers le commentaire
Partager sur d’autres sites

Merci Dan, non ça ne fonctionne pas mais ce n'est pas de ta faute. Ce n'est pas le REPLACE qui doit causer un souci.

 

J'ai découvert qu'il y a un problème en amont : je n'arrive pas à faire un select sur des champs de ma bd qui ont un espace ou un apostrophe.

Un simple WHERE var = 'L'hermine' ou 'le chat' ne fonctionne pas, d'où mon interrogation :

1/ Est-il conforme et sécure que dans ce champs de ma bd j'ai des espaces et des apostrophes (sans antislash par exemple) ?

2/ et si c'est conforme on fait comment avec un simple WHERE var= pour y accéder ?

 

Merci d'avance Dan,

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...