Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Komplikovan upit pomoc

[es] :: MySQL :: Komplikovan upit pomoc

[ Pregleda: 1138 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.uspeh.com.



+18 Profil

icon Komplikovan upit pomoc23.04.2009. u 10:57 - pre 183 meseci
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 :)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: Komplikovan upit pomoc23.04.2009. u 13:38 - pre 183 meseci
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
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.uspeh.com.



+18 Profil

icon Re: Komplikovan upit pomoc06.05.2009. u 13:25 - pre 183 meseci
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?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
217.24.31.*

Sajt: mysql.rs


+2377 Profil

icon Re: Komplikovan upit pomoc07.05.2009. u 00:33 - pre 183 meseci
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


 
Odgovor na temu

[es] :: MySQL :: Komplikovan upit pomoc

[ Pregleda: 1138 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.