PDO pobieranie obiektów

0

Witam, mam takie zapytanie do DB:

$q = $pdo->prepare('SELECT wizyta.lekarz, wizyta.pacjent, pacjent.name, lekarz.name FROM `wizyta`,`pacjent`,`lekarz` WHERE wizyta.lekarz = pacjent.id AND wizyta.pacjent = pacjent.id');
$q->setFetchMode(PDO::FETCH_OBJ);

//....

$q->execute();
while($search = $q->fetch()){
	echo $search->pacjent_name;
	echo $search->lekarz_name;
	
	//tak próbowałem i nie działa	
}

Jak teraz odebrać to w formie obiektu albo tablicy asocjacyjnej ? Gdybym odczytywał dane z 1 tabeli to działałoby tak jak zawsze, a w tym momencie to nie wiem. Numerycznie działa, ale niezbyt dobrze to wygląda w samym skrypcie. Chodzi oczywiście o odebranie tego imienia pacjenta i lekarza.

0

spróbuj przy fetch podać pierwszy argument jako PDO::FETCH_OBJ, będzie pewniejsze niż ustawianie tego wcześniej ;)

potem zrób sobie var_dump($search) i będziesz wiedział co dostałeś.

0

Ok, dzięki, już działa :D

0

A nie prościej użyć fetchAll() ? a jesli chcesz w postaci tablicy asocjacyjnej użyć PDO::FETCH_ASSOC zamiast tego ...FETCH_OBJ ?

0

@axelbest:

A nie prościej użyć fetchAll()

Prawie zawsze to zły pomysł z perspektywy użycia pamięci.

1 użytkowników online, w tym zalogowanych: 0, gości: 1