25. september 2016 - 22:46
Der er
9 kommentarer
PHP backtick
I hvilke situationer skal backticks anvendes - om overhovedet nogen? $sql = "SELECT * FROM `{$this->_table}` ORDER BY `name` ASC";
Annonceindlæg fra DE-CIX
26. september 2016 - 01:02
#1
Teknisk set skal backticks bruges omkring navne som er reserverede ord i MySQL. Da man ikke boer bruge navne som er reserverede ord i MySQL, saa boer man aldrig have brug for backticks og derfor aldrig bruge dem.
26. september 2016 - 01:48
#2
Rettelse: udover reserverede ord skal de ogsaa bruges til navne med mellemrum i og navne med diverse ikke-printbare tegn. Konklusionen holder stadig.
26. september 2016 - 13:37
#3
Og en anden holdning: Brug altid `.....` omkring dine navne på felter osv i MySql. Fordi du kan ikke vide, om det navn du har fundet på, bliver et reserveret ord i næste udgave i MySql. Eksempelvis kan du bruge ordet "stored" i MySql 5.5 - men ikke i 5.7.6, hvor det er et nyt reserveret ord (utestet) Tilsvarende med MSSQL og [....]
26. september 2016 - 15:37
#4
Det kan ske. Men ved lidt omtanke synes jeg ikke at risikoen er stor. Nye reserverede ord siden 5.1: GENERATED OPTIMIZER_COSTS VIRTUAL STORED GET IO_AFTER_GTIDS IO_BEFORE_GTIDS MASTER_BIND RESIGNAL SIGNAL Nogle af dem er saa specielle at man naeppe vil vaelge dem. STORED er et navn som man vil undgaa da det er et kendt keyword i andre SQL dialekter. GET er ogsaa et navn som man vil undgaa. For stor risiko for at det er reserveret. Der er ikke mange som jeg vil betragte som en reel risiko for at have givet problemer (for dem som har taenkt lidt over tingene). Til gengaeld vil konsekvent brug af backticks give en masse arbejde, hvis man skal skifte database fra MySQL til noget andet. Og det sker. At bruge PDO og SQL med backticks er efter min mening absurd - man vaelger et database uafhaengigt API og saa laver man al sin SQL database afhaengig.
27. september 2016 - 15:56
#5
Findes der en god dansk betegnelse for backtick?
27. september 2016 - 16:07
#6
"bagud gnyffer" ? :-) Nogle gange maa man bare bruge de engelske.
27. september 2016 - 16:50
#7
27. september 2016 - 17:03
#8
Spoergsmaalet er som "accent grave" er en god dansk betegnelse. :-)
28. september 2016 - 18:37
#9
Tusind tak for den samlede hjælp.
Vi tilbyder markedets bedste kurser inden for webudvikling