Ese guión tiene serios problemas que rompen el trato. Solo funcionará para la base de datos más trivial.
- No se admiten valores NULL.
- Los conjuntos de caracteres no se tienen en cuenta.
- Los nombres de las tablas no están delimitados.
- Solo se admiten tablas, no vistas, procedimientos almacenados, disparadores, funciones, etc.
addslashes()
no es seguro para el juego de caracteres .mysql_query()
precarga todos las filas de la tabla, por lo que si consulta una tabla con millones de filas, excederá su límite de memoria PHP. Utilicemysql_unbuffered_query()
en cambio. Pensándolo bien, veo que recopilas todos los resultados en $return, por lo que esto es discutible.- Su supresión de errores con
@
operador es una mala práctica. Compruebe si hay errores y falle correctamente con un mensaje informativo.
Su requisito de no usar mysqldump es absurdo.
¿Por qué hacer tanto trabajo por ti mismo reinventando la rueda, y aun así hacerlo tan mal? Simplemente ejecute mysqldump a través de shellexec()
.
Véase también: