Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MYSQL & PHP ->mysql_fetch_object->2 taulusta

Axuu [05.03.2009 12:52:18]

#

Onko mahollista saada 'mysql_fetch_object':illa tietoja 2 samannimisestä mutta eri taulussa olevista kentistä?

Näin alla olevaa toteutustapaa, mutta se ei toiminut (?)

$tietoo = $object->{'user.id'};

GimPeltzi [05.03.2009 14:59:58]

#

PHP:n puolellahan on käsittelyssä vain kyselyn tulos, jonka tietokanta palauttaa, ja joka koostuu eri nimisistä sarakkeista (muotoa taulu.sarake). Jos user -taulussa on sarake id, jota pyydetään kyselyssä ja tietokanta palauttaa sen, se on PHP:n luettavissa siinä missä mikä tahansa muukin sarake.

mysql_fetch_object() ei hae tietokannasta mitään vaan käsittelee tietoa, jonka mysql_query() palauttaa tietokannasta.

Koska mysql_fetch_object() palauttaa yhden rivin objektina, sen kenttiin viitataan näin:
$object->user.id;
joten käyttämäsi aaltosulkeet sekä hipsut ovat tarpeettomat.

Olethan alustanut tämän objectin seuraavasti: $object = mysql_fetch_object($kyselytulos);

Oletko harkinnut mysql_fetch_row() funktiota?

Axuu [06.03.2009 11:05:49]

#

Okei, selitin liian epäselvästi.

Olen kyllä alustanut objektit yms. SEKÄ se toimii ilman taulun viittausta.

Esim. seuraava toimii
$object->id;

mutta seuraavat ei:

$object->user.id;
$object->{'user.id'};

Sen takia haluan objektilla toimimaan, ettei tarvitsisi muuttaa siihen sivuun useampia eri kohtia, mutta jos ei täl lähe niin si tarvii luopuu objekteist.

map_ [06.03.2009 12:20:07]

#

Ehkä voisit uudelleennimetä kentät kyselyssä:

SELECT user.id AS userId, other.id AS otherID FROM ...

Axuu [06.03.2009 13:13:31]

#

Uudelleen nimeäminen toimi, tattis! :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta