1. Podług strony http://webmade.org/kursy/kurs_mysql/cz1.php (Jak piszą: "Według składni SQL nazwy pól i tabel powinno zawierać się w odwróconych apostrofach (`).") zapytanie powinno wyglądać tak:
<?php $zapytanie_sprawdzania_postow = 'SELECT `s.id`, `s.shoutbox_data`'; $zapytanie_sprawdzania_postow .= ' FROM `'.$tabela_shoutbox.'` s'; $zapytanie_sprawdzania_postow .= ' WHERE `s.shoutbox_id_uzytkownika` >= `'.$_SESSION['id'].'` AND `s.shoutbox_data` >= `'.$czas_wstecz.'` AND `s.shoutbox_tresc` = `'.$nshoutbox_tresc.'`'; $zapytanie_sprawdzania_postow .= ' LIMIT 1'; ?>
...a więc z odwróconymi apostrofami.
2. Tak również działa:
<?php $zapytanie_sprawdzania_postow = 'SELECT s.id, s.shoutbox_data'; $zapytanie_sprawdzania_postow .= ' FROM '.$tabela_shoutbox.' s'; $zapytanie_sprawdzania_postow .= ' WHERE s.shoutbox_id_uzytkownika >= ''.$_SESSION['id'].'' AND s.shoutbox_data >= ''.$czas_wstecz.'' AND s.shoutbox_tresc = ''.$nshoutbox_tresc.'''; $zapytanie_sprawdzania_postow .= ' LIMIT 1'; ?>
...a wiec w ZWYKŁE apostrofy ujęte są jedynie pola, w które wstawiane są dane z odpowiednich zmiennych. Bez tych apostrofów nie działa w przypadku, gdy jedna ze zmiennych zawiera znaki interpretowane przez serwer (o ile dobrze się wyrażam).
Moje pytanie... czy powinno się używać wszędzie odwróconych apostrofów?
Jeśli tak:
Jaką to ma zaletę?
Czy w przypadku nazw tabel skracanych do jednej litery, taki zapis: `'.$tabela_shoutbox.'` s jest poprawny?
Jeśli nie to, czy zwykłych apostrofów używać tylko tam, gdzie to konieczne, czy też wszędzie (nazwy tabel i pól)?
Ewentualnie jaki jest najbardziej poprawny sposób zapisywania zapytań w języku SQL?
*** Dopiero niedawno wpadłem na pomysł rozbijania zapytania na kolejne wiersze (Kolejno: SELECT, FROM, WHERE, GROUP, ORDER, LIMIT itd.), co wydaje mi się znacznie czytelniejszym.
Pozdrawiam i z góry dzięki za pomoc...
DOPISANE: teraz dopiero zwróciłem uwagę na to, że w odwrócone apostrofy ujęte są wyłącznie nazwy pól i tabel, ale nie wartości pól. Co jednak ciekawe podany przykład działa poprawnie, więc nie bardzo rozumiem... co tu jest poprawne, a co nie?