Hallo Matthias,
mehrere singleton selects sind immer suspekt. In deinem Fall würde ich den aktuellen Datensatz zusammen mit Vorgänger und Nachfolger anfragen:
Code:
...
AND b.blog_id in (" . sqlval($id-1) . sqlval($id) . sqlval($id+1) . ")
...
Ich hoffe du erkennst die Idee trotz eventuell vorhandener Syntaxfehler.
Grüße vom marabu