Estas son algunas de las posibilidades para iniciar la conversación:¿Cómo se evita la inyección de SQL en las aplicaciones LAMP?
- escape todas las entradas en la inicialización.
- Escapar cada valor, preferentemente al generar el SQL.
La primera solución es subóptima, porque luego necesita volver a separar cada valor si desea usarlo en algo que no sea SQL, como la salida en una página web.
La segunda solución tiene mucho más sentido, pero escalar manualmente cada valor es un problema.
Conozco prepared statements, pero encuentro MySQLi engorroso. Además, me preocupa la separación de la consulta de las entradas, porque aunque es crucial para corregir el orden, es fácil cometer un error y, por lo tanto, escribir los datos incorrectos en los campos incorrectos.