Po pierwsze, warto używać aliasów w zapytaniach SQL, czym ułatwisz sobie czytanie kodu SQL.
Po drugie, nie używaj * tylko pobieraj te informacje które potrzebujesz.
SELECT `pyt`.`id`, `pyt`.`question`
FROM `pytajnik_pytania` AS `pyt`
LEFT JOIN `pytajnik_odpowiedzi` AS `odp` ON `pyt`.`id` = `odp`.`questionid`
WHERE `odp`.`questionid` IS NULL;
Wtedy nie będziesz potrzebował takich dziwactw jak
$row['pytajnik_pytania'.'id'] a wystarczy
$row['id']Po trzecie, nie musimy widzieć linii że się łączysz z bazą.
Po czwarte, pisanie nazw kategorii w bazie, zamiast id kategorii, bo co jak będziesz chciał zmienić nazwę kategorii? Będziesz szukał? UPDATE `pytania` SET kategoria = 'Historia wspołczesna' WHERE kategoria = 'Historia'; ? Co jak będzie błąd i będzie nazwa kategorii 'Historia ' (ze spacją)?
Po piąte:
Gdzie inicjujesz $array i $currentid? w linii?
$current = array_search($currentid, $array);