Perché è senza senso?
Ti stampi la stringa della query così come la passi a PDO, così in caso ci fossero concatenazioni vedi se ci sono spazi mancanti, questa query conterrà i placeholder.
Nel tuo caso ti stamperà
SELECT user_name, user_email FROM users WHERE user_name=:user_name OR user_email=:user_email

poi ti stampi le 2 variabili che andrebbero a sostituire i placeholder, che so: $username e $password e vedi se hanno i valori che ti aspetti.

A questo punto avresti anche finito, perché sono solo queste cose che possono andare male, ma se vuoi prendi i valori delle 2 variabili, li metti al posto dei rispettivi placeholder ed esegui la query su phpmyadmin.
Questa query sarà tale e quale a quella che eseguirebbe PDO, perché fa esattamente quello che faresti tu a mano.

Alternativamente puoi seguire una di queste due strade:
http://stackoverflow.com/questions/7...ery-in-php-pdo
http://stackoverflow.com/questions/2...tabase-queries