Bonjour,

Voila je rencontre un petit problème avec mon code. Cela fait longtemps que je n'ai pas fait de PHP, alors je galère sur quelque chose de très facile....
Je cherche a récupérer l'ID d'un code partenaire en fonction d'une valeur rentrée par l'utilisateur.
Sauf que si cette valeur contient un " . ", la requete ne marche pas :(

$db->query('SELECT ID FROM partners WHERE code = ?', [$code_partners])->fetch();

Et si je mets des doubles ou simples quotes (", '); il survient l'erreur :
En sachant que pour l'exemple, NOZE.TV est un test de nom avec un point.

.1054 - Unknown column 'NOZE.TV' in 'where clause' 

Par contre, si je mets des doubles ou simples quotes dans la requete SLQ en PHP, c'est une autre erreur qui survient.

Parse error: syntax error, unexpected '?'

Il faudrais "juste" pouvoir rentrer une valeur avec un point dans un la requete SQL pour permettre l'ajout de code.

Bonne journée à vous,
Cordialement

1 réponse


Gaspard
Réponse acceptée

Hello !

En fait ce que tu fais n'est pas une "requête préparée", vu qu'il n'y a pas prepare() dedans :D

Tu as essayé ça ?

$req = $db->prepare("SELECT ID FROM partners WHERE code = :code");
$req->bindParam(':code', $code_partners, PDO::PARAM_STR);
$req->execute();

Bonne journée !
Gasp.