Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 1.530 pregleda

Najnovija ↓

Komplikovan upit pomoc 23.04.2009. u 11:57 · pre 213 meseci #1
Pozdrav.

Imam sledecu bazu:
http://img6.imageshack.us/img6/2990/bazaposifri.jpg

Tako sam dobio nacrtane te relacije (kao relacije) i sad moram dobiti kao rezultat sledece:

iz tabele "trm_sifrantnam" polje opis u odnosu na vrijednost trm_sifrantproizv.idsifrantaproizv

Pokusao sam pomocu sledeceg koda (PHP):

"SELECT trm_sifrantnam.opis, trm_sifrantproizv.idsifrantaproizv
FROM trm_sifrantproizv, trm_artproiz, trm_artikli, trm_sifrantnam
WHERE trm_sifrantproizv.idsifrantaproizv LIKE '%$sifra_artikla%'
AND trm_artproiz.idproiz = trm_sifrantproizv.idsifrantaproizv
AND trm_artikli.idartikla = trm_artproiz.idartikla
AND trm_sifrantnam.sifra = trm_artikli.idartikla"

Varijabla $sifra_artikla ima vrijednost uzetu iz $_POST metode.

Kada upotrebim funkciju mysql_num_rows() vrati mi 0, a sigurno ima vise rezultata ako upisem samo 1 u taj $_POST.

Zanima me jel greska u nacrtu relacija baze ili u mojoj SELECT naredbi?

Molim za pomoc hitno je. Hvala unaprijed!

PS nadam se da sam dobro postavio pitanje :)
Re: Komplikovan upit pomoc 23.04.2009. u 14:38 · pre 213 meseci #2
1. ako je, a verovatno jeste trm_sifrantproizv.idsifrantaproizv numericki atribut onda ne ide LIKE ( http://dev.mysql.com/doc/refma...n-functions.html#operator_like ) posto je LIKE " STRING COMPARISON FUNCTION " a numericka varijabla nije string .. Ako je trm_sifrantproizv.idsifrantaproizv string onda treba da se preispita taj ko je dizajnirao bazu.

2. budi SIGURAN da ne upisujes direktno u upit vrednost iz $_POST posto je to RUPA NA KVADRAT !!!

sta ti vrati
Code:

SELECT trm_sifrantnam.opis, trm_sifrantproizv.idsifrantaproizv FROM trm_sifrantproizv, trm_artproiz, trm_artikli, trm_sifrantnam WHERE 

trm_sifrantproizv.idsifrantaproizv > 0

AND trm_artproiz.idproiz = trm_sifrantproizv.idsifrantaproizv AND trm_artikli.idartikla = trm_artproiz.idartikla AND trm_sifrantnam.sifra = trm_artikli.idartikla


da ne bi nagadjali kog je tipa, sto ne uradis "SHOW CREATE TABLE trm_sifrantproizv" i bacis ovde rezultat
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Komplikovan upit pomoc 06.05.2009. u 14:25 · pre 212 meseci #3
Ja se izvinjavam na kasnom odgovoru, bio sam na odmoru...

Na kraju sam utvrdio da je bila greska u relacijama medju tabelama...
Citat:

2. budi SIGURAN da ne upisujes direktno u upit vrednost iz $_POST posto je to RUPA NA KVADRAT !!!


Znam da nije bezbjedno direkt upisivat, ali ne znam koje funkcije da upotrijebim da "ocistim" varijablu?
Re: Komplikovan upit pomoc 07.05.2009. u 01:33 · pre 212 meseci #4
varijablu "ocistis" tako sto znas sta ocekujes .. ako ocekujes broj a dobijes string - nesto ne valja .. ako ocekujes string onda opet moras taj string da napravis da bude sql safe .. http://www.php.net/mysql_real_escape_string

Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme