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

Da li je moguce direktno pristupiti $result=mysql_query(...)

[es] :: PHP :: Da li je moguce direktno pristupiti $result=mysql_query(...)

[ Pregleda: 2411 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.213.*



+4 Profil

icon Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 01:07 - pre 176 meseci
$result = mysql_query(...)
echo $result; // == Resource id 11

I ako hocu da pristupim resultatu mysql pretrage moram da koristim mysql_fetch_ array/object($result);
A tu fetch funkciju opet moram sa strpam u neki ciklus jer rezultat obicno ima vise redova...
Ne preterano ekonomicno ni lepo.

Da li mogu direktno da pristupim podatcima u $result? Npr:

$var = $result[4]['colName']; ili
$var = $result[x][y];
$var = $result[x]->nesto;
$var = $result...

Kako uopste izgleda $result struktura? Da li je to array, multidim array, object, mesavina svega?
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.static.kdsinter.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 06:18 - pre 176 meseci
mysql_query() vraca resource http://www.php.net/manual/en/language.types.resource.php a da bi pristupio podacima "unutar" tog resourca treba ti neka od mysql_fetch_* funkcija. Pregledaj koje sve postoje http://www.php.net/manual/en/ref.mysql.php i koristi onu koja ti je potrebna :)
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 06:51 - pre 176 meseci
mozda mysql_result() funkcija?

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.static.kdsinter.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 07:27 - pre 176 meseci
mysql_result je za pristup jednoj koloni u result set-u, tj. ako imas query tipa "select id from table;"
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dial-up.dsl.siol.net.



+18 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 07:42 - pre 176 meseci
meni se cini da se moze pristupiti bilo kojem polju u "result-u".

evo recimo primjer:

tabela: korisnici(id,ime,prezime,e-mail)

Code:

...
...
$res = mysql_query("SELECT * FROM korisnici");

$ime_korisnika_3 = mysql_result($res,2,2);
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.static.kdsinter.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 08:33 - pre 176 meseci
U pravu si. Moja greska :)
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.213.*



+4 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 12:57 - pre 176 meseci
Ok, hvala. Ali moje pitanje je bilo da li je moguce direktno pristupiti $result BEZ koriscenja mysql_fetch_ funkcija?

Procitao sam text o resussima na php.net ali tu prosto ne pise nista konkretno.
Npr. Sta je taj resurs? Pointer na heap mem, stack, neko php rezervisano mesto...?
Kako izgleda struktura vracenog rezultata? PHP niz, visedimenzionalni niz, assoc niz, objekat, C struktura kojoj zaista ne mogu da pristupim direktno iz PHPa ili nesto deseto?

Po vasem pisanju naslucujem da je odgovor "ne, ne mozes direktno pristupiti $result". Jos ako bi neko mogao da napise razlog...
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
91.148.82.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 13:07 - pre 176 meseci
Kako nisi nasao nista konkretno, prva recenica:
Citat:
A resource is a special variable, holding a reference to an external resource.
.... resource variables hold special handlers to opened files, database connections, image canvas areas and the like....


Mislim, na kraju krajeva, shvati to kao aksiom ako ti je lakse, tako je kako je, vidi kako se koristi, i fokusiraj se na resenje problema umesto da sam sebi stvaras nove :)
Recimo mozda ovakvo objasnjenje, bez da sam se udubljivao u teoriju resurca, pa mozda i lupim, resource ka fajlu je 'pointer' pa php ne pristupa direkt fajlu na HD, vec preko resursa trazi od sistema/servera odredjenu operaciju na fajlom (bazom). Nazovi ga drajverom za rad sa fajlovima, kako bi php radio nezavisno od fajl sistema koji se koristi na serveru.
Sad ko zna vise i bolje neka me ispravi :)
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.213.*



+4 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 13:26 - pre 176 meseci
Ta prva recenica mi i dalje nista ne znaci :(

Sta u slucaju mysql-a znaci "external resource"? Gde se to nalazi? Ram, hdd, in the state of the flux...?
Kako to izgleda? Kao struktura, objekat, niz, etar, plazma, energy field, grozd stem celija...?

Trenutno koristim mysql_fetch_object jer se ispostavilo da je za 1.5sec/mil brza od mysql_fetch_array assoc. Nije to problem. Samo sam pozeleo da naucim nesto vise.

I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 14:04 - pre 176 meseci
@MilosDJ - Posmatraj to ovako:

1. Kad izvrsis mysql_query(....), odnosno, upit nad bazom, baza rezultat smesti negde u memoriju (RAM pretpostavljam, ali SAMO pretpostavljam) i vrati ti 'pokazivac' (referencu, adresu, whatever,...) gde se taj objekat (rezultat) nalazi.

2. Ti onda treba da dohvatis to i da ga obradis (taj objekat - posmatrajmo to kao neki objekat). Zato postoje funkcije koje preuzimaju taj objekat iz memorije (pristupaju mu) i obradjuju ga. Rezultat te obrade jesu kolone (rezultati) koje si dobio upitom.

Ono sto te verovatno buni, jeste, zasto mysql_query() vraca resource, a ne rezultat ? Zato sto sve MySQL funkcije (bar mislim da su sve) u PHP-u, ocekuju RESOURCE kao parametar, a ne Array (ili Result-set - kolone i redove ....). Znaci, one obradjuju resource i vracaju ti neki rezultat, primer:

int mysql_num_rows ( resource $result ) - Vraca ukupan broj redova (primeti da ocekuje parametar tipa RESOURCE)

A zasto bas prihvataju RESOURCE, a ne Array? Pa ekonomicnije je funkciji proslediti adresu gde se nesto nalazi, nego proslediti ceo niz rezultata ... :-)

EDIT: Ako bas hoces da se udubljujes u tematiku, bolje da se ova tema prebaci na MySQL forum, pa ce ti bogdan.kecman sigurno dati pravi odgovor :-)

 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
93.87.213.*



+4 Profil

icon Re: Da li je moguce direktno pristupiti $result=mysql_query(...)04.11.2009. u 16:05 - pre 176 meseci
Da, zanima me kako zaista izgleda taj resource. I koliko god da googlam, stalno se vrtim u krug. Svuda su samo povrsna objasnjenja.

Osim da/ne odgovora voleo bih da znam kako i zasto.
Skroz mi je jasno sta si misliio pod tim 1 i 2. Samo zelim da znam sta se tacno desava. Malo detaljnije i preciznije.
Da li mysql smesti taj rezultat u "svoj" deo memorije a apac mu pristupa kao fajlu, pa je to smisao onog "external resources"?
Ili ceo resultat doputuje do apaca, pa ga on stavi u svoj heap? Onda ima smisla traziti nacin da mu se direktno pristupi... A mozda i ne moze jer je resource neka interna C struktura ko assoc array? Ili opet neka kombinacija necega.


Prebacite temu gde god mislite da joj je mesto :) Mislio sam da joj je ovde mesto zbog PHP-a, ali mozda gresim.
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

[es] :: PHP :: Da li je moguce direktno pristupiti $result=mysql_query(...)

[ Pregleda: 2411 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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