[ vatri @ 23.04.2009. 10:57 ] @
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 :)
[ bogdan.kecman @ 23.04.2009. 13:38 ] @
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
[ vatri @ 06.05.2009. 13:25 ] @
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?
[ bogdan.kecman @ 07.05.2009. 00:33 ] @
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