Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Join wykonuje sie na kei.pl a na home.pl nie
NoiseMc
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Co jest nie tak z tym zapytaniem ze na kei.pl(MySQL 4.0.18) wykonuje sie poprawnie, na moim wlasnym serwerze tez (IIS, MySQL 4.0.18), a na home.pl(MySQL 4.1) nie idzie
  1. SELECT mod.NazwaModulu, mod.LinkModulu
  2.  
  3. FROM ( prawa_dostepu pd
  4. INNER JOIN moduly mod ON pd.IDModulu = mod.IDModulu
  5. )
  6. INNER JOIN uzytkownicy uz ON pd.IDUzytkownika = uz.IDUzytkownika
  7. WHERE uz.IDUzytkownika = 2 AND pd.Dostep > 0


Struktura bazy:
  1. -- --------------------------------------------------------
  2.  
  3. --
  4. -- Struktura tabeli dla `moduly`
  5. --
  6.  
  7. CREATE TABLE `moduly` (
  8. `IDModulu` int(6) NOT NULL AUTO_INCREMENT,
  9. `NazwaModulu` text NOT NULL,
  10. `LinkModulu` text NOT NULL,
  11. PRIMARY KEY (`IDModulu`)
  12. ) TYPE=InnoDB AUTO_INCREMENT=8 ;
  13.  
  14. -- --------------------------------------------------------
  15.  
  16. --
  17. -- Struktura tabeli dla `prawa_dostepu`
  18. --
  19.  
  20. CREATE TABLE `prawa_dostepu` (
  21. `IDPrawa` int(5) NOT NULL AUTO_INCREMENT,
  22. `IDUzytkownika` int(5) NOT NULL DEFAULT '0',
  23. `IDModulu` int(5) NOT NULL DEFAULT '0',
  24. `Dostep` char(1) NOT NULL DEFAULT '',
  25. PRIMARY KEY (`IDPrawa`),
  26. KEY `IDUzytkownika` (`IDUzytkownika`),
  27. KEY `IDModulu` (`IDModulu`),
  28. KEY `Dostep` (`Dostep`)
  29. ) TYPE=InnoDB AUTO_INCREMENT=19 ;
  30.  
  31. -- --------------------------------------------------------
  32.  
  33. --
  34. -- Struktura tabeli dla `uzytkownicy`
  35. --
  36.  
  37. CREATE TABLE `uzytkownicy` (
  38. `IDUzytkownika` int(5) NOT NULL AUTO_INCREMENT,
  39. `Login` varchar(25) NOT NULL DEFAULT '',
  40. `Haslo` varchar(32) NOT NULL DEFAULT '',
  41. `Imie` text NOT NULL,
  42. `Nazwisko` text NOT NULL,
  43. `Aktywny` int(1) NOT NULL DEFAULT '1',
  44. `Uzytkownicy` int(1) NOT NULL DEFAULT '1',
  45. PRIMARY KEY (`IDUzytkownika`),
  46. KEY `Uzytkownicy` (`Uzytkownicy`),
  47. KEY `Aktywny` (`Aktywny`),
  48. KEY `Login` (`Login`),
  49. KEY `Haslo` (`Haslo`)
  50. ) TYPE=InnoDB AUTO_INCREMENT=4 ;


Cytat
Błąd:
  1064: 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 'mod ON pd.IDModulu = mod.IDModulu )
  INNER JOIN uzytkownicy uz ON pd.IDU' at line 1


Admin na home.pl rzekł, ze zapytanie "jakos dziwnie mu wyglada". Nie wiem moze jest niezgodne z jakimis standardami. Dodam, ze po zmianie nazwy aliasu z "mod" na inny wszystko jest OK


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Problem jest w tym ze male i duze litery na windzie nie ma znaczenia a na Linuxie jest.

Zmien na male litery wszystko lub daj `tabela`, `pole` i jesli bedzie problem to pisz.


--------------------
Go to the top of the page
+Quote Post
NoiseMc
post
Post #3





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Zmodyfikowalem zapytanie, zmienilem nazwe aliasu z "mod" na "mo" i dziala blink.gif.
MOD() to funkcja MySQL i stad mogl wziac sie ten blad (znalazlem w manualu w trakcie pisania tego posta)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:51