$query = "SELECT * FROM `users` WHERE `username` = 'admin'";#works
$query = "SELECT * FROM 'users' WHERE 'username' = 'admin'";#does not work
Est-ce encore une autre chose à laquelle je devrais m'habituer, ou est-ce que quelque chose de drôle se passe?Dans MySQL, «résultats erronés» fonctionne correctement. Pourquoi?
+1: SQL considère généralement que les guillemets simples contiennent du texte et non un nom de colonne. MySQL utilise des backticks (pas d'autres à ma connaissance), mais ils sont [seulement nécessaire pour échapper à l'époque où quelqu'un a pris la mauvaise décision d'utiliser ce qui est un mot réservé dans MySQL] (http://dev.mysql.com/doc /refman/5.0/fr/reserved-words.html) –
Si vous activez le mode ANSI, les doubles guillemets standard sont également acceptés pour les noms de colonne et de table (rendant MySQL plus conforme à la norme SQL - en fait, il y a beaucoup des options qui devraient être activées pour désactiver certaines des bizarreries MySQL non standard) –