Se metti la echo che ti ho proposto, vedi la query come te la aspetteresti? $val ha il valore giusto?

Prova a copiare la query che ti viene stampata ed eseguila direttamente sul db con phpmyadmin, ti restituisce qualcosa o niente?

Se non ti restituisce niente, vuol dire che con quel valore di $val non c'è niente da restituire.