In 1 query vraag ik de gegevens op uit de tabel gebruikers en de tabel activiteiten.
Zowel in de tabel gebruikers als in de tabel activiteiten staat de kolom land.
Als ik via een mysql_fetch_object een echo doe met $data->land komt er het verkeerde resultaat.

Bestaat er nu iets om de waarden via een mysql_fetch_object uit verschillende tabellen te halen?
bv:
$data->land.tbl_gebruikers & $data->land.tbl_activiteiten
Ja, maar dan iets anders. Als je een join maakt met kolommen uit twee verschillende tabellen, dan kan je de tabel waar de kolom uit gehaald moet worden aangeven door de tabelnaam ervoor te zetten:

SELECT a.land AS landA, b.land AS landB
FROM tbl_gebruikers a, tbl_activiteiten b

De tabel gebruikers heeft nu alias a, de tabel activiteiten de alias b. In het select statement kan je met die aliassen nu aangeven uit welke tabel de selecties moeten komen. Daarnaast moet je die beide kolommen dan ook nog een alias geven, omdat je anders twee keer 'land' terugkrijgt en dat kan niet. Als je nu dus uit je gefetchde rij het gebruiker land wil halen dan kan dat met $data->landA en wil je het activiteiten land dan kan dat met $data->landB
Ik weet dat je de tabelnaam ervoor moet zetten.
Voor de FROM gebruik ik:
FROM tbl_gebruikers INNER JOIN tbl_activiteiten ON ...
Zoals Erwin al zegt moet je kolommen aliassen als ze dezelfde naam hebben.
Het resultaat van een query is een recordset, en geen verzameling van tabellen, dus ook niet op die manier aan te spreken. Als je 'dubbele' kolommen hebt in de select list kun je ze alleen benaderen via mysql_fetch_row, bij elke andere methode wordt de eerste waarde overschreven door de tweede.

Reageren