Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna jako nazwa kolumny
Forum PHP.pl > Forum > Bazy danych > MySQL
Paratroop
Witam

Próbuję wysłać zapytanie do bazy danych które jako nazwe tabeli ma zmienną. Oto kod zapytania:
  1. $result = mysql_query(" SELECT * FROM ".$db_prefix.$prom." WHERE ".$prom."_imie='".$imie."' AND ".$prom."_nazwisko='".$nazwisko."' ");


Zmienna $prom jest przechwytywana z $_GET i w tym przypadku wartośc zmiennej to "piwo". Efekt powinien byc taki że zostanie wysłane zapytanie o kolumny piwo_imie i piwo_nazwisko. Jednak przy probie wysłania zapytania pojawia sie błąd:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''piwo' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''piwo' at line 1

Gdzie robię błąd?
Dzięki za pomoc i pozdrawiam.
phpion
Hmmm, zapytanie wygląda na poprawne. Daj nam wynik tego:
  1. $query = " SELECT * FROM ".$db_prefix.$prom." WHERE ".$prom."_imie='".$imie."' AND ".$prom."_nazwisko='".$nazwisko."' ";
  2. echo '<hr />Zapytanie: '.$query.'<hr />';
  3. $result = mysql_query($query);

a konkretnie to, co pojawi się pomiędzy liniami <hr />.
Paratroop
Oto co sie wyswietla (zignorujcie literki pomiedzy ' '. to tylko testowo):

Zapytanie: SELECT * FROM blondi_piwo WHERE piwo_imie='asdasdasd' AND piwo_nazwisko='asdasdasd'
phpion
Hmmm, nadal nie widać niczego podejrzanego. Jesteś pewien, że błąd tyczy właśnie tej linijki i tego zapytania? Dla pewności odpal to zapytanie (to, co wkleiłeś) np. poprzez phpMyAdmina i sprawdź czy zadziała.
Paratroop
Ok. Problem rozwiązałem. Chodziło rzeczywiście nie o tą linijkę. Chodziło o jeden mały głupi ' w innym zapytaniu pare linijek dalej. Nie moglem tego błędu znaleźć ponieważ nie brałem pod uwagę tego że to zapytanie jest wykonywane w tym stadium wykonywania kodu a to co podałem w poście wyglądało na jedyne które mogło sprawiać problemy w tym momencie.

Dziękuję za pomoc i zainteresowanie. Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.