J'ai un problème avec une requête préparée en PHP avec PDO. Le code:PHP PDO préparé requête refuse d'exécuter correctement - problème d'échappement?
$link = new PDO("mysql:dbname=$dbname;host=127.0.0.1",$username,$password);
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $link->prepare("SELECT locality_name FROM :passedday GROUP BY locality_name ORDER BY locality_name DESC");
$query->bindParam(":passedday",$day); //Where day is, well, a day passed to the script elsewhere
$query->execute();
$result = $query->fetchAll();
$link = null;
//Do things with the $result.
Le message d'erreur que je reçois est:
SQLSTATE [42000]: Syntaxe violation d'erreur ou d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de '' 05_26_09 'GROUP BY nom_local ORDER BY nom_local DESC' à la ligne 1
Lorsque j'exécute directement la requête sur le serveur, il renvoie la commande appropriée jeu de résultats sans aucun problème. Des idées de ce que je fais mal?
TIA.
Edit:
$day
est passé comme un argument GET. Ainsi, http://127.0.0.1/day.php?day=05_26_09
conduit à $day = $_GET['day'];
.
Je viens de le découvrir sur Google. Merci. – benjy