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'};
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?
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.
Ehkä voisit uudelleennimetä kentät kyselyssä:
SELECT user.id AS userId, other.id AS otherID FROM ...
Uudelleen nimeäminen toimi, tattis! :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.