![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki skrypt:
I pierwsze pytanie brzmi: co jest w nim źle, ponieważ pojawia mi się błąd Kod query was empty i nic więcej. Ani numeru lini , w której jest błąd - nic!:( Dlatego zwracam się z prośbą do was, bo skoro nie pisze mniej więcej miejsca gdzie mam szukać błędu, to pewnie go nie znajdę , bo jestem za mało obeznany w php:) Drugie moje pytanie odnosi się tego, że Jabol i aleksander mowili, iz nazwy zmiennych w tablicy asocjacyjnej nalezy dawac w " lub ' . zatem mialem tak napisane w tym fragmencie tego skryptu co powyzej (od powyzszego fragmentu rozni sie tym, ze zamiast $cat[CATEGORY] jest $cat['CATEGORY']) i ten skrypt nie działa: (zadzialal dopiero po usunieciu apostrofow dookola tych zmiennych tablicy asocjacyjnej)
No , to by bylo na tyle. prosze o pomoc:) Pozdrawiam Ka-lolek |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.04.2004 Skąd: Legionowo Ostrzeżenie: (0%) ![]() ![]() |
Ad. 1 A jak myślisz gdzie może być błąd jeśli "zapytanie jest puste"? Chyba tam gdzie sformułowałeś te zapytanie. Wydaje mi się, że zamiast:
powinno być
bo to w zmiennej $get_cats jest przechowywane zapytanie. Ad 2. Błąd z tablicami asocjacyjnymi wynika z tego, że używając ich w łańcuchu znaków należy ująć je jeszcze w nawiasy klarowe { }:
Pozdrawiam! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
dzięki.
teraz niestety również pojawia mi się błąd, ale tym razem taki: Kod Unknown column 'Applications' in 'where clause' skrypt wygląda tak:
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Proponuję zamiast mysql_error() wykorzystać poniższą funkcję:
np.
Dzięki temu będziemy wiedzieli gdzie wywali nam błąd... Spróbuj tego zapytania:
Poza tym nie ustawiłeś trybu sortowania danych (ASC lub DESC) po ORDER BY (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Powinno być ORDER BY CATEGORY ASC lub DESC |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm zmieniłem
ten fragment:
Na takie coś:
No i teraz działa. Tylko nie wiem czemu… czy nie jest dozwolone uzywanie tablic asocjacyjnych w warunkach where zapytania SQL?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) A może po prostu nie postawiłem potrzebnego ‘ lub „ Ew. {} przy $cat[CATEGORY](IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? (jak widać mam z tym problem:P) proszę o odpowiedz i dzieki za dotychczasowe. Caly skrypt wyglada teraz tak:
Pozdro! Ten post edytował Ka-lolek 31.07.2005, 19:57:35 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.04.2004 Skąd: Legionowo Ostrzeżenie: (0%) ![]() ![]() |
Cytat A może po prostu nie postawiłem potrzebnego ‘ lub „ Ew. {} przy $cat[CATEGORY](IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? To jest możliwe. Po prostu w niektórych wypadkach zapytanie SQL źle interpretuje tablicę asocjacyjną bez znaków ' ' a tym bardziej gdy nie ująłeś jej w nawiasy klamrowe. Gdybyś zrobił tak:
na pewno by podziałało. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
no , juz zanim to napisales , to sprawdzilem, ze taka wersja dziala:
czyli pewnie to co podales tez by dzialalo... aby uniknac takich bledow, czy moglby mi ktos wytlumaczyc jak i kiedy sie uzywa te {}, ", ' . Albo niech poda jakis przystepna strone , ktora o tym traktuje (w jezyku polskim, poniewaz ciezko mi sie czyta teksty naukowe po angielsku:/) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.04.2004 Skąd: Legionowo Ostrzeżenie: (0%) ![]() ![]() |
Tu nie ma zbyt wiele do tłumaczenia, a co dopiero pisać o tym teksty naukowe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Znaki apsotrofu (' ') powinno sie stosować w nazwie każdej zmiennej superglobalnej (np. $_POST['']), tablicy asocjacyjnej itp, pod warunkiem, że klucz jest tekstem a nie liczbą. Czyli np. :
A jeśli chodzi o nawiasy klamrowe { } to używa się ich wtedy, gdy dana zmienna superglobalna lub tablica występuje w łańcuchu:
Natomiast jeśli przypisujesz element tablicy lub zmienną superglobalną do zwykłej zmiennej to nie używasz nawiasów klamrowych.
Mam nadzieję, że teraz już jest wszystko jasne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zajrzyj jeszcze do manuala i poczytaj trochę o używaniu tablic i zmiennych superglobalnych. Pozdrawiam! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.04.2004 Skąd: Legionowo Ostrzeżenie: (0%) ![]() ![]() |
tak, wszystko co jest zawarte między cudzysłowami lub apostrofami jest traktowane jako łańcuch znaków. Dlatego w tym przypadku tablicę też trzeba ująć w {}. A tak dla formalności to na końcu brakuje " i ; (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.08.2025 - 01:13 |