Wel of geen backticks in een query
Sommige mensen zeggen wel backticks in een query, de meesten zeggen geen backticks in een query, phpmyadmin gebruikt weer wel backticks in een query, wat is het nou. Wat is het beste, wel of geen backticks :)
Ricardo
Niet gebruiken dan heb je veel minder problemen.
En wel ' ' om variabelen?
( en natuurlijk buiten "" halen )
Gewijzigd op 01/01/1970 01:00:00 door - Ricardo -
Ik weet het niet zeker, maar volgens mij zijn backtics alleen te gebruiken bij mysql en is het geen standaard sql. Verder gebruiken sommige mensen het om toch te kunnen werken met verkeerde veld- en/of kolomnamen. Neem gewoon goede veld- en kolomnamen en je hebt ze nooit nodig. Enkele quotes moeten niet om variabelen, maar om teksten. Zit er in een var dus tekst, dan gebruik je enkele quotes. Getallen hoeven geen quotes. Het belangrijkste is dat je alle invoer checkt en beveiligt tegen sql-injection.
Backtics worden gebruikt om reserved words te gebruiken, zoals SELECT select FROM from. Dit zou niet kunnen maar met backtics wel.
De voornaamste reden om het niet te doen is omdat als je de backtics vergeet je vette errors krijgt en/of een verkeerde handeling uitvoert dat je ipv een select een delete doet...
Daarnaast ziet het er niet uit en is het ANSI SQL
----------
Wat SanThe zegt klopt neit helemaal... Om variabelen (varchar, char, blob, text, ...) variabelen moeten altijd ENKELE quotes!
Om nummers (numeric, decimal, float, double, ...) moeten geen quotes!
Net zoals met programmeren... alleen kan je bij vars dan ook dubbele quotes gebruiken en dat kan niet bij SQL.
-------
Gebruik PDO() of mysqli_* voor prepared statements!
Kalle schreef op 04.04.2009 00:56:
Wat SanThe zegt klopt neit helemaal... Om variabelen (varchar, char, blob, text, ...) variabelen moeten altijd ENKELE quotes!
Om nummers (numeric, decimal, float, double, ...) moeten geen quotes!
Om nummers (numeric, decimal, float, double, ...) moeten geen quotes!
Volgens mij zeg ik dat, maar misschien niet duidelijk genoeg. ;)
Bij deze zei je het correct
Kalle schreef op 04.04.2009 00:56:
Geen backtics!!!
Tenzij je meer hele nare bugs in je code wilt hebben... Sterkte met het herstellen van je database.
Quote:
Je mag quotes gebruiken, in sommige databases is het zelfs verplicht. In MySQL en PostgreSQL levert het geen enkel probleem op, hooguit wat extra tikfouten wanneer je ergens eentje vergeet. Het is niet verboden en de ene DBA zweert er bij, de andere zweert ze juist af. Smaken verschillen maar je loopt er geen grote risico's mee. Dat in tegenstelling tot het gebruik van backticks, dat is als parachutespringen zonder reserve parachute.Om nummers (numeric, decimal, float, double, ...) moeten geen quotes!
Quote:
Goed advies en geldt voor iedereen die met PHP en MySQL wil werken.Gebruik PDO() of mysqli_* voor prepared statements!
in dit topic staan ook nog wat andere argumenten voor danwel tegen het gebruik van backticks.
Om het eenzijdige verhaal wat meer perspectief te zetten: