entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

numeros mal mostrados al hacer un query php

hola estoy teniendo un inconveniente, al hacer varios querys para comprobar algo (adjunto el codigo) esos 3 numeros 1 del query de la verificacion si es igual == a 1 terminan apareciendo en el return

como podria quitarlos?

1 Respuesta

2votos

carlossevi Puntos63540

Esos 1 provienen de las siguientes expresiones:

echo $sql = mysql_query(...)

La función de msql_query (por cierto, obsoleta y no recomendada) devuelve los siguientes valores:

  • Para SELECT, SHOW, DESCRIBE, EXPLAIN y otras sentencias que retornan un conjunto de resultados devuelve un resource en caso de éxito, o FALSE en caso de error.

  • Para otros tipos de sentencias SQL, tales como INSERT, UPDATE, DELETE, DROP, etc. devuelve TRUE en caso de éxito o FALSE en caso de error.

Lo que te está pasando es que tus tres consultas son exitosas, devuelven tres TRUE consecutivos, que en tu código se convierten en:

echo TRUE;
echo TRUE;
echo TRUE;

Lo que se traduce en "111".

0voto

Leonardo-Tadei comentado

Excelente explicación!

Nunca se hace un echo o print de la respuesta de mysql_query(), porque esta función devuelve el handler al resultado de la query o verdadero o falso para las querys que no devuelven datos.

0voto

MikeNicholas comentado

gracias por tu explicacion, que me recomiendas hacer ante este caso para solucionarlo? otra opcion

0voto

carlossevi comentado

Mis consejos:

  1. Deja de utilizar mysql_query() y empieza a utilizar uno de sus sustitutos (mysqli_query() o PDO::query())

  2. No hagas echo del resultado de las consultas, ¿para qué lo haces? No tiene sentido.

  3. Empieza a controlar si tu consulta está funcionando. El resultado de la función que ejecuta la consulta (por ejemplo mysqli_query()) te indica si la consulta ha funcionado. Supongo que no querrás que tu aplicación siga haciendo lo mismo independientemente de si funciona o no... ¿no? ¡Pues controla su resultado!

0voto

bl4z3r comentado

Si haces programación estructurada, migra a mysqli, si no, a PDO. Esto es por una cuestión de seguridad y mantenibilidad. La comunidad de PHP solamente da soporte a extensiones no obsoletas.

Para todo lo demás, tiene la documentación de PHP que una de las mas completa que hay: http://php.net/manual/es/mysqli.quickstart.statements.php

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta