Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]blad przy poleceniu ON
Forum PHP.pl > Forum > Przedszkole
digitmc
mam problem podczas wykonania zapytania SQL oto kod:

  1. "SELECT c.id, p.power " .
  2. "FROM char_main c " .
  3. "JOIN char_power p " .
  4. "JOIN char_power_link pk " .
  5. "ON c.id = pk.char_id AND p.id = pk.power_id ";


Moze mi ktos powiedziec czy jest to dobrze napisane zapytanie.

A komunikat bledu jest taki :
Something is wrong in your syntax obok 'ON c.id = pk.char_id AND p.id = pk.power_id ' w linii 1
wipo
Cytat(digitmc @ 5.10.2006, 21:21:01 ) *
mam problem podczas wykonania zapytania SQL oto kod:

  1. "SELECT c.id, p.power " .
  2. "FROM char_main c " .
  3. "JOIN char_power p " .
  4. "JOIN char_power_link pk " .
  5. "ON c.id = pk.char_id AND p.id = pk.power_id ";


Moze mi ktos powiedziec czy jest to dobrze napisane zapytanie.

A komunikat bledu jest taki :
Something is wrong in your syntax obok 'ON c.id = pk.char_id AND p.id = pk.power_id ' w linii 1

Ponieważ dałeś 2 join-y a tylko w jeden sposób określiłeś jak to chcesz połączyć
Mówiąc prościej
JOIN ..... ON ........ JOIN ...... ON ........ itd
digitmc
Ogolnie chodzi o to aby polaczyc tabele char_power i tabele char_main przy pomocy tabeli char_power_link.
Sprawdzalem tak jak mowiles ale nie dzial ten sam blad.

A tu jest link do tego co bylo w ksiazce skad jest skrypt

strona z trescia ksiazki

a tu kod zrodlowy skryptu

zrodlo skryptu

a tu tabele bazy danych

tabele bazy
wipo
Cytat(digitmc @ 5.10.2006, 21:21:01 ) *
mam problem podczas wykonania zapytania SQL oto kod:

  1. "SELECT c.id, p.power " .
  2. "FROM char_main c " .
  3. "JOIN char_power p " .
  4. "JOIN char_power_link pk " .
  5. "ON c.id = pk.char_id AND p.id = pk.power_id ";


Moze mi ktos powiedziec czy jest to dobrze napisane zapytanie.

A komunikat bledu jest taki :
Something is wrong in your syntax obok 'ON c.id = pk.char_id AND p.id = pk.power_id ' w linii 1

A wpisz w phpmyadmin takie coś
explain SELECT c.id, p.power " .
"FROM char_main c " .
"JOIN char_power p " .
"JOIN char_power_link pk " .
"ON c.id = pk.char_id AND p.id = pk.power_id

I zobacz co otrzymasz bo możliwe że literówke zrobiłeś w bazie albo skrypcie
digitmc
w zakladce SQL?. Jak tak to dalej blad:

#1064 - Something is wrong in your syntax obok '"SELECT c.id, p.power " .
"FROM char_main c " .
"JOIN char_pow' w linii 1

A skrypty sa ze strony heliona do ksiazki php apache mysql od podstaw
wipo
Cytat(digitmc @ 6.10.2006, 21:31:10 ) *
w zakladce SQL?. Jak tak to dalej blad:

#1064 - Something is wrong in your syntax obok '"SELECT c.id, p.power " .
"FROM char_main c " .
"JOIN char_pow' w linii 1

A skrypty sa ze strony heliona do ksiazki php apache mysql od podstaw

wpisz desc char_main;
desc char_power;
desc char_power_link;

Chcę zobaczyc jakie masz tabele i czemu masz taki błąd
digitmc
  1. DESC char_main;# Rekordów: 5
  2. DESC char_power;# Rekordów: 2
  3. DESC char_power_link;# Rekordów: 2
wipo
Cytat(digitmc @ 6.10.2006, 21:42:45 ) *
  1. DESC char_main;# Rekordów: 5
  2. DESC char_power;# Rekordów: 2
  3. DESC char_power_link;# Rekordów: 2

Ale nie wzrociło Ci jak nazywają się pola i jakiego typu są?
digitmc
Nie. Przy nastepnych zapytaniach w skrypcie tez sie jakies bledy pojawiaja. wyzej masz baze i skrypt atu config.php

config
wipo
A podaj jeszcze linka do phpmyadmin-a
digitmc
wyslalem ci wiadmosc prywatna
a gg to 7585057
wipo
Wpisz coś takiego. Jest to obejście problemu ale działa poprawnie
Kod
SELECT c.id, p.power
FROM char_main c, char_power_link pk, char_power p
WHERE c.id = pk.char_id
AND p.id = pk.power_id

A czemu tamto nie dzialało to nie wiem
digitmc
Dziala to jak jest polaczenie wiele do wielu ?. Nie trzeba uzywac "ON"?.

I blad jest przy nastepnym zapytaniu tez dotyczy "ON" ale juz sobie sam zmienie. A jakbys mogl to pomysl dlaczego tak jest. Nie jest to wina wersji mysql lub php ?.
wipo
Cytat(digitmc @ 6.10.2006, 22:19:30 ) *
Dziala to jak jest polaczenie wiele do wielu ?. Nie trzeba uzywac "ON"?.

I blad jest przy nastepnym zapytaniu tez dotyczy "ON" ale juz sobie sam zmienie. A jakbys mogl to pomysl dlaczego tak jest. Nie jest to wina wersji mysql lub php ?.

php to nie ewentualnie mysql .
A która masz wersje?
digitmc
MySQL 3.23.58
wipo
no to moze byc sql zrob upgrade i juz
digitmc
Rzeczywiscie dziala. Nie wiedzialem ze moga byc takie roznice w tych wersjach. Wielkie dzieki
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.