I’ve had a very hard time understanding why $wpdb->get_results was always returning an empty array in a query I was working on.
Thanks to the codex, turning wordpress to show sql’s errors helped me a lot :
$wpdb->show_errors();
more infos about error handling inside WPDB