PHP5: Requête paramétrée et guillemets

Fermé
ji_louis - 16 juin 2011 à 12:40
 lm88fr - 16 juin 2011 à 15:22
Bonjour,
J'ai un problème en PHP avec une requête paramétrée dont un des paramètres peut contenir des blancs dans du texte:

public function update($table, $id, $label) {
$sql = 'UPDATE ? SET LABEL = ? WHERE ID = ?';
try {
$statement = $this->getConnexion()->prepare($sql);
$statement->execute(array($table, $label, $id));
} catch (PDOException $e) {
$this->logError($e);
throw new TechniqueException($e->getMessage(), $e->getCode().$e->getTraceAsString());
}
}
Typiquement, $table = "materiel" et $id = 4

Quand j'ai un $label du genre "Agrément pour matériels", la requête ne marche pas, mais je n'ai pas d'erreur non plus.

J'ai essayé en ajoutant des simple-quotes ' ou double-quotes " en début et fin de paramètre, mais ça plante.

Quelqu'un aurait une idée?

1 réponse

Je n'y connais pas grand chose en requête paramétrée.

Une requête classique : UPDATE materiel SET label="ca fonctionne avec des espace" WHERE id=1.

Si cela ne fonctionne pas, il faut vérifier le type de "label", si c'est bien un varchar, voir la taille du champs. Si cela n'est pas le problème je ne vois pas q'où cela pourrais venir.
0