Mam bazę danych z dwoma tabelami: `artykuly` oraz `komentarze`. W pierwszej tabeli mam między innymi: `tytul`, `tresc`, `artykul_id` itd. a w komentarzacz: `artykul_id`, `komentarz_id`, `tresc` itd. Dodatkowo w tabeli z artykułami, zrobiłem kolumnę w której jest zapisywany tytuł małymi literami a spacje zamienione są na podkreślniki. Wykorzystuję to do robienia prostych adresów URL (używam CodeIgniter).
No i na początku w tabeli komentarze zamiast `artykul_id` miałem `artykul_url`. Chcąc wyciągnąć komentarze dla konkretnego artykuły, pobierałem z adresu URL ostatni segment nazwy (gdzie jest właśnie napis z kolumny `tytul_url` z tabeli `artykuly`) i zapisywałem do zmiennej $id.
Zapytanie brzmiało tak:
$this->bd->query('SELECT * FROM komentarze WHERE artykul_url = '.$id.'')
Niestety, i w kodzie PHP i nawet wpisywane ręcznie zapytanie do PHPMyAdmin dawało ostrzeżenie: "Unknown column '(tutaj zawsze sie pojawiał napis z `artykul_url`, np. 'testowy_artykul_13')' in WHERE clause"
Czy ja źle robię czy to wina skryptu? Przecież zmienna $id nie jest kolumną - a tak mi pokazuje komunikat błędu. No chyba, że źle czytam.