sandrinoo Posté 14 Juin 2022 Posté 14 Juin 2022 (modifié) 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é 14 Juin 2022 par sandrinoo
Dan Posté 14 Juin 2022 Posté 14 Juin 2022 Quelque-chose comme ça, peut-être SELECT bd SET var = REPLACE(var, ' ', '-') WHERE var = $var;
sandrinoo Posté 15 Juin 2022 Auteur Posté 15 Juin 2022 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,
Dan Posté 20 Juin 2022 Posté 20 Juin 2022 Ceci devait t'aider : https://chartio.com/learn/sql-tips/single-double-quote-and-backticks-in-mysql-queries/
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant