Buenas,
no hay bases de datos inseguras por sí mismas. Lo que las hace inseguras es la forma que se tiene de interactuar con ella (exceptuando un usuario y clave débiles o un servidor no actualizado)...
Una mala programación puede hacer que alguien inyecte código en los campos que, posteriormente, se muestran "tal cual" en la web, ejecutando el navegador dicho código y haciendo cosas imprevisibles.
También hay que tener cuidado al utilizar variables de las URL directamente en las consultas porque eso, en la mayoría de las veces, es un agujero de seguridad tremendo.
Por ejemplo:
http://miaplicacion.com/usuarios/perfil/editar.php?id=10
Alguien podría cambiar la url y poner id=1 y el sistema, si no controla si se está autorizado a ver fichas de otros usuarios, podría ver/actualizar el perfil de otra persona.
Es más, ¿qué pasaría si ponen en la URL ?id="1;DELETE * FROM usuarios;" ???
Seguramente, en tu código, si tienes una SQL del tipo:
Si no se asegura de que GET['id'] sea de tipo numérico ANTES de componer la SQL, el sistema ejecutaría todo, incluido el borrado de la tabla usuarios :-/
Como bien te han indicado anteriormente, el uso de PDO para construir las consultas, así como el filtrado de todo lo que llega por POST/GET hace que tu aplicación sea mucho más segura.
Te dejo un par de páginas que hablan del tema:
https://www.xplora.eu/como-proteger-pagina-web/
https://diego.com.es/seguridad-web-en-php
Una última recomendación, si me lo permites. Para que tengas ya mucho ganado con el tema de la seguridad y las buenas prácticas de programación deberías apoyarte, al hacer tus proyectos, en un framework ya sólido y contrastado. Yo te recomiendo que uses Symfony 4.x siempre que puedas. Invertir tu tiempo en aprenderlo no sólo te convertirá en mejor programador, sino que, profesionalmente, estarás más cualificado para acceder a los empleos mejor pagados (dentro del perfil de desarrollador de PHP).
Saludos,
Juan Luis