https://www.tlm.unavarra.es/file.php/105/ejemplos/chat_v2/index.php
https://www.tlm.unavarra.es/file.php/105/ejemplos/chat_v2/db.php
https://www.tlm.unavarra.es/file.php/105/ejemplos/chat_v2/sesion.php
https://www.tlm.unavarra.es/file.php/105/ejemplos/chat_v2/salir.php
El ejemplo tiene efectivamente un problema de mysql injection. El hecho de que no funcionara en clase al hacer la inyeccion es porque el servidor web que use tenia activada la opcion de magic_quotes que automaticamente protege todas las variables de entrada a php escapando los caracteres peligrosos. Es una opcion util para principiantes porque evita que se generen errores de inyeccion al programar pero no se aconseja que los servidores de produccion la tengan porque afecta al rendimiento de php. De hecho parece que la opcion ya no existe en php 6
Mas info aqui
http://es.php.net/magic_quotes
En la practica 6 tendreis oportunidad de probarlo y desactivareis esta opcion.