Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/10/2005, 03:49
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Hola:

Un par de cosas "al vuelo":
- Definitivamente tienes que verificar el origen de las variables. Pero no es suficiente. Nunca está de más hacer una "limpieza" a las variables que llegan, por ejemplo con settype() o revisando que no contengan caracteres o cadenas indeseadas (como UNION, por ejemplo).

- Tampoco es buena idea andar "despilfarrando" el mysql_error(). Esto, ante cualquier error, muestra información sobre tu base de datos (nombres de bases de datos, tablas, campos, etc.) a cualquiera que esté enfrente. En etapa de desarrollo, es buena idea porque te ayuda a descubrir errores y depurar fácilmente, pero luego quítalo. Una buena idea puede ser manejar una variable en tu archivo de configuración como ésta:
Código PHP:
$mostrar_errores_sql false// o true. 
y en tus comprobaciones de error puedes hacer algo como:
Código PHP:
$result = @mysql_query("SELECT *FROM tablausuarios WHERE email='$email'");  
if (!
$result && $mostrar_errores_sql) {
echo(
"<p>Error al seleccionar tabla: " mysql_error() . "</p>"); 
De esa manera, sólo se mostrarán los errores, cuando tengas esa variable en "true".

Por cierto, no lo he comprobado, pero "SELECT *FROM" ¿no da error al faltar el espacio entre el * y el FROM?

Saludos