Ik heb een paar MySQL tabellen, welteverstaan producten en voorraad.
In producten staan de gegevens van producten zoals de naam en de omschrijving ervan. Het id veld is uniek voor elk product.
In voorraad is er ook een primair veld, eveneens id genaamd. Er is een veld prodid dat verwijst naar het id veld in de product tabel.
Met de query
"SELECT * FROM product p, voorraad v WHERE (p.id = v.prodid)"
wil ik dus alle gegevens van deze tabellen kunnen aanroepen, dus ook de twee verschillende id velden. (Ik wil echter wel de * gebruiken omdat de database in de toekomst nogal eens gewijzigd zal worden.)
Mijn vraag is nu de volgende, hoe kan ik de beide "id" velden uitlezen in PHP?
Ik kan in de fetch functie die ik gebruik moeilijk een punt plaatsen, omdat PHP dit leest als koppelteken voor strings.(zie de onderste lijn in de code)
PHP
Ik kan dit wel oplossen door de * in de query te vervangen door bijvoorbeeld
"p.id pid, v.id vid"
maar dit is wenselijk noch noodzakelijk omdat het programma overzichtelijk en klein moet blijven en dynamisch moet zijn met tabelwijzigingen én de database toch maar vrij klein is.
Ik heb google en GoT afgezocht op antwoorden op mijn vraag, maar ik kon niets nuttigs vinden omdat de meeste mensen geen * gebruiken in hun query.
Alvast bedankt voor jullie antwoorden.
In producten staan de gegevens van producten zoals de naam en de omschrijving ervan. Het id veld is uniek voor elk product.
In voorraad is er ook een primair veld, eveneens id genaamd. Er is een veld prodid dat verwijst naar het id veld in de product tabel.
Met de query
"SELECT * FROM product p, voorraad v WHERE (p.id = v.prodid)"
wil ik dus alle gegevens van deze tabellen kunnen aanroepen, dus ook de twee verschillende id velden. (Ik wil echter wel de * gebruiken omdat de database in de toekomst nogal eens gewijzigd zal worden.)
Mijn vraag is nu de volgende, hoe kan ik de beide "id" velden uitlezen in PHP?
Ik kan in de fetch functie die ik gebruik moeilijk een punt plaatsen, omdat PHP dit leest als koppelteken voor strings.(zie de onderste lijn in de code)
PHP
code:
1
2
3
4
5
6
| function resultaat(){ return mysql_fetch_object($this->result); } $db <<voer query uit>>; $record = $db->resultaat(); echo $record->p.id |
Ik kan dit wel oplossen door de * in de query te vervangen door bijvoorbeeld
"p.id pid, v.id vid"
maar dit is wenselijk noch noodzakelijk omdat het programma overzichtelijk en klein moet blijven en dynamisch moet zijn met tabelwijzigingen én de database toch maar vrij klein is.
Ik heb google en GoT afgezocht op antwoorden op mijn vraag, maar ik kon niets nuttigs vinden omdat de meeste mensen geen * gebruiken in hun query.
Alvast bedankt voor jullie antwoorden.