Šta je novo?

Step by step objasnjenje

bez_nika

Slavan
Učlanjen(a)
10.11.2004
Poruke
127
Poena
319
E pa ovako nedavno sam podigao forum u pitanju je Ipb i kada se klikne na moderating team umesto podataka o moderatoru izadje ova greska.

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
f.id as forum_id, f.read_perms, f.name as forum_name, c.state
FROM ibf_moderators mod
LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)


mySQL error: 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
LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
' at line 3
mySQL error code:
Date: Thursday 17th of November 2005 12:52:51 PM

Posto sam nov u ovim stvarima i nemam nikakva znanja o Sql moze li mi neko step by step objasniti kako da resim ovaj problem.
Unapred hvala
 
Lici mi na gresku u samoj skripti... Morao bi da se nadje neko ko koristi isto to... Probaj na vebsajtu foruma
 
rekao bih da se toj verziji sqla ne svidja sto ima FROM ibf_moderators mod

probaj FROM ibf_moderators AS mod
 
bez_nika je napisao(la):
E pa ovako nedavno sam podigao forum u pitanju je Ipb i kada se klikne na moderating team umesto podataka o moderatoru izadje ova greska.

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
f.id as forum_id, f.read_perms, f.name as forum_name, c.state
FROM ibf_moderators mod
LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)


mySQL error: 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
LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
' at line 3
mySQL error code:
Date: Thursday 17th of November 2005 12:52:51 PM

Posto sam nov u ovim stvarima i nemam nikakva znanja o Sql moze li mi neko step by step objasniti kako da resim ovaj problem.
Unapred hvala


Mislim da imas problem zato sto u prvom redu pises:


SELECT m2.id,......,f.id as forum_id, f.read_perms, f.name as forum_name, c.state


a onda povezujes preko :

Kod:
LEFT JOIN ibf_forums f ON(f.id=[b]mod.forum_id[/b])


koristis alias a referenciras ga preko tabele mod.forum_id

Mislim da bi trebao da pises

LEFT JOIN ibf_forums f ON(f.id=mod.id)

poz....
 
Poslednja izmena:
Ovo sto si napisao mi izgleda skroz netacno... odakle ti mod.id da postoji?! pravilno vezuje f.id preko mod.forum_id
eventualno ako si mislio ON forum_id=mod.forum_id (posto on uvodi forum_id kao alias za f.id, a ne obrnuto sto si ti napisao), mada sam uzdrzanog misljenja da ni ovo ne bi radilo...

pre je ono sto sam ja napisao, tim pre sto je poruka

Kod:
MySQL server version for the right syntax to use near 'mod
LEFT JOIN ibf_forums

a mysql uglavnom izda poruku u kojoj prikaze ono sto se nalazi IZA greske... npr sto puta sam izostavio zarez ili tako nesto i nikad ne dobijem da fali zarez, nego da imam error near, pa prvo sledece iza zareza.,..

voleo bih da se covek javi da kaze jel mu nismo dovoljno pomogli, dali je uopste probao sta sam mu rekao ili sta, ili ako je batalio da i mi batalimo.. meni je licno jako ruzno kad neko postavi pitanje, dobije par odgovora i onda cuti... onda se ja pitam koji moj sam se uopste cimao da odgovorim.

ako nije dovoljno jasno kako ispraviti... ubaciti taj sql upit u total commanderov search, naci i editovati php fajl. tamo izmedju ibf_moderators i mod ubaciti jedno AS, snimiti i obavestiti nas o rezultatu... nadam se da znas da se php edituje iz najobicnijeg notepada ili sta vec imas pri ruci (preporuka notepad2)
 
Poslednja izmena:
danijel00 je napisao(la):
Ovo sto si napisao mi izgleda skroz netacno... odakle ti mod.id da postoji?! pravilno vezuje f.id preko mod.forum_id
eventualno ako si mislio ON forum_id=mod.forum_id (posto on uvodi forum_id kao alias za f.id, a ne obrnuto sto si ti napisao), mada sam uzdrzanog misljenja da ni ovo ne bi radilo...

Upravu si sto se tice vezivanja nisam upucem u strukturu IPB Portala ili bolje receno zadnji vbulleten portal sam postavio na noge prije nekoliko godina tako da je davno bilo oprastaj naravno da vezuje tabele ispravno jedinu gresku koju ima je da koristi rezervisanu rijec MOD kao alias koja je od MySQL verzije 4.1.0 rezervisana za funkciju Modulo

Ispravno bi trebalo ovako da glasi :

SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
f.id as forum_id, f.read_perms, f.name as forum_name, c.state
FROM ibf_moderators m
LEFT JOIN ibf_forums f ON(f.id=m.forum_id)
LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
LEFT JOIN ibf_members m2 ON (m.member_id=m2.id)

poz....
 
Poslednja izmena:
Sorry za ne javljanje bio sam u guzvi pa nisam ima o vremena da odgovorim.Nisam jos probao tvoj predlog a iskreno i nisam znao kako :). E ovako forum je uploadovan a nisam ga ja uploadovo sa svog kompjutera nego drugar sto ce reci da ja nemam taj fajl kod sebe. Sto znaci da on treba na svom kompu da uradi ovo :
ubaciti taj sql upit u total commanderov search, naci i editovati php fajl. tamo izmedju ibf_moderators i mod ubaciti jedno AS, snimiti i obavestiti nas o rezultatu... nadam se da znas da se php edituje iz najobicnijeg notepada ili sta vec imas pri ruci (preporuka notepad2) pa da javim rezultate.
Jos jednom izvinite za ne javljanje nije bila namera.

P.S. Objasnjenja bas trebaju da budu step by step jer nemam pojma o sql
 
bez_nika je napisao(la):
Sorry za ne javljanje bio sam u guzvi pa nisam ima o vremena da odgovorim.Nisam jos probao tvoj predlog a iskreno i nisam znao kako :). E ovako forum je uploadovan a nisam ga ja uploadovo sa svog kompjutera nego drugar sto ce reci da ja nemam taj fajl kod sebe. Sto znaci da on treba na svom kompu da uradi ovo :
ubaciti taj sql upit u total commanderov search, naci i editovati php fajl. tamo izmedju ibf_moderators i mod ubaciti jedno AS, snimiti i obavestiti nas o rezultatu... nadam se da znas da se php edituje iz najobicnijeg notepada ili sta vec imas pri ruci (preporuka notepad2) pa da javim rezultate.
Jos jednom izvinite za ne javljanje nije bila namera.

P.S. Objasnjenja bas trebaju da budu step by step jer nemam pojma o sql

poslusaj mene AS nije problem !

evo testirao sam u Navicat , konstruisao tabele sa poljima koja selektiras ubacio tvoj SQL i upravo kao sto rekoh MOD je problem :

sql1.gif


ispravan SQL treba ovakav da bude

sql2.gif
 
Ovako... Prvi pokusaj prepravke: neuspeo...

Kod:
mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
    	                   f.id as forum_id, f.read_perms, f.name as forum_name, c.state
    	            FROM ibf_moderators AS mod
    	              LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
    	              LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
    	              LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)
    	            

mySQL error: 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
    	              LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
    	       ' at line 3
mySQL error code: 
Date: Wednesday 23rd of November 2005 04:23:05 PM

Bacam se na drugi nacin...
 
Koliko sam ja obavesten i drugi nacin nije uspeo
 
bez_nika je napisao(la):
Koliko sam ja obavesten i drugi nacin nije uspeo

neznam mislim da je sledeci SQL uredu ukoliko i postoje polja u tabelama :

SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,
f.id as forum_id, f.read_perms, f.name as forum_name, c.state
FROM ibf_moderators m
LEFT JOIN ibf_forums f ON(f.id=m.forum_id)
LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)
LEFT JOIN ibf_members m2 ON (m.member_id=m2.id)
 
ja bih opet stavio AS m
razne verzije mysql-a (a i ostalih sql-ova) imaju razlicito ponasanje prema tim AS
 
pa *ebemu misa jer ste stvarno toliko smotani ,
mislim postavljam vam sliice gdje se jasno vidi da mod nije dozvoljen uostalom i Navicat ga cak ispisuje plavom bojom kao rezervisanu rijec i opet se hvatate za AS

@bez_nika , zasto nisi instalirao platformu na lokalnom sistemu , Apache , PHP i MYSQL i testirao prvo sve prije nego sto saljes nekom tamo drugu da ti uploaduje i edituje direktno SQL upite na serveru ?

Koju verziju MYSql imate na serveru ?
 
Poslednja izmena:
ajde da jos jednom procitas moju celu recenicu... dakle, secam se eksplicitno da sam imao problem sa AS na nekoj verziji mysql...
 
danijel00 je napisao(la):
ajde da jos jednom procitas moju celu recenicu... dakle, secam se eksplicitno da sam imao problem sa AS na nekoj verziji mysql...

ajde molim te pronaci mi tu verziju na kuju si eksplicitno morao da navodis AS.
Bas mi me interesovala toliko gruba stvar !

Evo recimo iz iskustva ti mogu reci da Firebird (Interbase) uopste ne podrzava AS dok recimo Access'u i MySQL'u i DB2 odgovara SQL upit i sa i bez "AS"

Tako kad bi trebala da se navede donekle generalna izjava za ove cetiri baze u svakom slucaju bez "AS" bi bio kompatibilniji.

Moguce da je postojala neka MySQL verzija u kojoj nije radilo kako treba ali bi to onda gledao kao veliki BUG.

Poz...
 
Probao sam sve navedene nacine, ali nazalost, nista nije uspelo... Malo cu da ceprkam, pa ako nesto postignem, javicu vam. Hvala svejedno.
 
Rado bih je naveo, ali zaista vise ne znam koja je mogla biti... pretpostavljam da je neka od 3.xx, od zadnjih iz te fele...
ja od onda refleksno trpam AS kad radim na mysqlu...

sa oracle 8 sam imao neku slicnu situaciju... jedino tu nije prihvatao as, npr za kolone, a za tabele jeste ili obrnuto (ovo bih mogao da proverim na poslu, kad se setim)

po specifikaciji sql-a treba da stoji AS, koliko mene secanje sluzi...

no, nebitno, ocigledno coveku i dalje nismo resili problem, a bojim se da to onda nije ni moguce ovako...
 
Vrh Dno