Bonjour,
Dans ma requête MySQL, j'ai des soucis lorsqu'il y a un espace dans une variable.
Si dans la requête je met tel quel (cp = $cp), tout marche nickel tant que le contenu de la variable est une seule chaîne. Si il y a un espace, erreur SQL.
J'ai tenté de mettre des simple et double quotes, mais là ça ne marche que quand on met l'expression complète. Sinon, rien ne se passe (comme si c'était incorrect)
EXEMPLE
Imaginons dans la base sql, cp à rechercher est 7062 LN (code postal néerlandais).
Expression sans quotes :
------------------------
$sql = "SELECT AUN, denomination, ville FROM aun WHERE cp = $cp ORDER BY ville";
si $cp = 7062, il trouve sans pb
si $cp = 7062 LN, erreur SQL (à mon avis pcq il prend LN comme un élément séparé).
Expression avec simples et doubles quotes :
------------------------
$sql = "SELECT AUN, denomination, ville FROM aun WHERE cp = ".$cp." ORDER BY ville";
si $cp = 7062, il ne trouve rien (0 résultats)
si $cp = 7062 LN, il trouve sans problèmes.
Je chercheà faire en sorte que la variable soit reconnue "n'importe où dans le champ" et pas seulement "champ entier" ; un genre de "mix" entre les deux cas ci-dessus.
Ne faudrait-il pas changer qqch au niveau du signe = ?
Merci pour vos avis.
Partager