Polecam Notepad++ bardzo ładnie koloruje składnię i ma wiele przydatnych funkcji, w tym pisanie w kilku liniach na raz, czy edycja kilku plików na raz...
Co do Twojego problemu... Zaczynając pisać zapytanie zaczynasz od czegoś takiego:
$q = ("");
Wpisując kolejne polecenia wychodzi np. takie coś:
$q = ("SELECT `nick` FROM `users` WHERE `id` = ... ");
Jak widzisz całe zapytanie jest objęte cudzysłowami " ", więc jeśli wystąpi w środku zapytania cudzysłów to kończy się jedna część zapytania. W tym przykładzie wszystkie zmienne umieszczane są w apostrofach, więc i zmienna w WHERE też powinna być umieszczona w apostrofach, czyli:
$q = ("SELECT `nick` FROM `users` WHERE `id` = ``");
Umieszczając tam jakąś zmienną, możesz wpisać ją bezpośrednio, ponieważ zmienne w cudzysłowach "$zmienna" są zastępowane przez ich wartości. A całe zapytanie SQL jest umieszczone właśnie w cudzysłowach... Możesz także umieścić zmienną osobno łącząc ją z resztą zapytania, wtedy stosujesz kropkę... Więc są dwie możliwości:
Bezpośrednio:
$q = ("SELECT `nick` FROM `users` WHERE `id` = `$zmienna`");
Z operatorem łączenia (.):
$q = ("SELECT `nick` FROM `users` WHERE `id` = `".$zmienna."`");
Jak widzisz, w przypadku dodawania zmiennej przez kropkę, musisz zakończyć pierwszy ciąg, ale żeby $zmienna była dodana w apostrofach, musisz jeden umieścić przed zakończeniem ciągu, czyli piszesz `id` =
`" (najpierw apostrof, żeby $zmienna była umieszczona w apostrofach, później cudzysłów, żeby zamknąć ciąg który zaczyna się od "SELECT), później wstawiasz zmienną przez operator łączenia czyli `id` =
`".$zmienna i na koniec musisz dopisać jeszcze jeden ciąg, żeby zapytanie było kompletne. W tym drugim ciągu musi znaleźć się tylko apostrof który otacza zmienną chyba, że chcesz więcej parametrów to dopisujesz coś jeszcze... Czyli: `id` =
`".$zmienna."`" Jak widzisz na końcu jest kropka, cudzysłów, apostrof i jeszcze raz cudzysłów. Kropka dodaje to co jest za nią do tego co jest przed nią, pierwszy cudzysłów otwiera ciąg, apostrof będzie interpretowany dosłownie, więc to on zostanie wklejony do całego zapytania i drugi cudzysłów zamykający ciąg. Całość otaczasz nawiasami a na końcu dajesz średnik:
$q = ("SELECT `nick` FROM `users` WHERe `id` = `".$zmienna."`");