Foros del Web » Programando para Internet » PHP »

error de sintaxis en formulario

Estas en el tema de error de sintaxis en formulario en el foro de PHP en Foros del Web. Me da el siguiente error en el formulario de registro. Parece problema del mail... Pero no se como solventarlo ni por donde empezar ni nada ...
  #1 (permalink)  
Antiguo 22/02/2012, 03:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 151
Antigüedad: 12 años, 4 meses
Puntos: 1
error de sintaxis en formulario

Me da el siguiente error en el formulario de registro. Parece problema del mail... Pero no se como solventarlo ni por donde empezar ni nada :S

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com' at line 1

La funcion es esta:

function comprobarmail($user)
{
global $database_conexionzulo, $conexionzulo;
mysql_select_db($database_conexionzulo, $conexionzulo);
$query_ConsultaFuncion = sprintf("SELECT strEmail FROM tblusuario WHERE strEmail = %s",$user);
$ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo)or die(mysql_error());
if($row = mysql_fetch_assoc($ConsultaFuncion))
return 0;

}

Lo solucione poniendo '%s' las comillas simples... Seria esta la solucion correcta?
  #2 (permalink)  
Antiguo 22/02/2012, 07:19
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: error de sintaxis en formulario

MAL
"SELECT strEmail FROM tblusuario WHERE strEmail = %s",$user

BIEN
"SELECT strEmail FROM tblusuario WHERE strEmail = %s".$user

El caracter para concatenar no es , sino .
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 22/02/2012, 07:55
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 2 meses
Puntos: 23
Respuesta: error de sintaxis en formulario

Cita:
Iniciado por jotaincubus Ver Mensaje
MAL
"SELECT strEmail FROM tblusuario WHERE strEmail = %s",$user

BIEN
"SELECT strEmail FROM tblusuario WHERE strEmail = %s".$user

El caracter para concatenar no es , sino .
está usando el método sprintf cuya sintaxis es sprintf ( string $format [, mixed $args [, mixed $... ]] ), por lo que la coma esta bien puesta.


nobo si, es la solucion correcta pero no del todo, para comparar cadenas en mysql es mejor usar like
  #4 (permalink)  
Antiguo 22/02/2012, 10:13
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: error de sintaxis en formulario

Cita:
Iniciado por Fierox Ver Mensaje
está usando el método sprintf cuya sintaxis es sprintf ( string $format [, mixed $args [, mixed $... ]] ), por lo que la coma esta bien puesta.
O.o lamento mucho el error.... Por estar a las carreras no me fije bien en lo que estaba haciendo x(
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 22/02/2012, 15:00
 
Fecha de Ingreso: diciembre-2011
Mensajes: 151
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: error de sintaxis en formulario

Porque con '%s' si funciona y con %s solo no ?
  #6 (permalink)  
Antiguo 22/02/2012, 18:15
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: error de sintaxis en formulario

Cita:
Iniciado por nobo Ver Mensaje
Porque con '%s' si funciona y con %s solo no ?
Las cadenas deben ir entre comillas y los números no.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: formulario, mysql, registro, sintaxis, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.