Uhmmm... creo que me confundiste
.
A ver... tienes el mysqli_get_warnings, que te muestra correctamente los errores, pero le haces un var_dump y te devuelve boolean(false), pero cuando haces SHOW WARNINGS si te muestra lo errores.
¿Qué es lo que quieres? ¿Que el boolean(false) desaparezca? Porque realmente no entiendo. Todo te funciona a la perfección, pero tienes un problema porque el var_dump te muestra boolean(false), así que deduzco que quieres que no lo muestre, por lo que sería tan fácil como comentar el var_dump.
Honestamente no me queda claro que pretendes
.