Jump to content

Replace SQL ?


sandrinoo

Recommended Posts

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");")

Edited by sandrinoo
Link to comment
Share on other 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,

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...