Título: PHP, y mysql Publicado por: #Aitor en 23 Diciembre 2013, 13:45 pm Hello!
Bueno, primero que nada deciros que no se a dónde va este tema, pues en el foro existe el apartado PHP y el apartado MYSQL, y yo tengo problemas con MYSQL pero dentro de PHP, ¿entonces...? ¡Un dilema!. Bueno, mi intención es crear un formulario de registro, hasta ahí bien. Esta creada la base de datos, con su respectiva tabla, e introduce los valores en ella sin problema. Mi problema ahora es, que si el usuario ya existe, lo vuelve a crear... entonces mi intención es arreglar eso. Esta, es una parte del código Código
El problema es que comprueba el primer dato que tiene la tabla. Me explico, tengo la sentencia SELECT user FROM tabla; Pero solo trae la primera fila de la columna user, y realiza la comprobacion exclusivamente con la primera. Había pensado en usar un ciclo do while, y romperlo cuando $sesion=mysql_fetch_array($sel); retornase en falso. ejemplo de lo que digo; Código
pero me temo que a partir de aquí me pierdo y no sé como realizar la comprobación con cada una de los users sin hacerlos con todos a la vez. No sé si me explico Un saludo y gracias. Título: Re: PHP, y mysql Publicado por: GenR_18 en 23 Diciembre 2013, 19:09 pm No sé si sea la forma correcta o segura como lo hago, pero yo lo que uso es row_Count() de PDO.
Por ejemplo, ejecuto la consulta (el SELECT bla bla..) buscando el usuario que se intenta registrar y con row_Count() reviso si no me regresa 0, muestro que ya existe el usuario. Con la libreria mysql_* creo que era mysql_num_rows pero te recomiendo uses PDO para más seguridad y ya es hora que te actualices :P Salu2! Título: Re: PHP, y mysql Publicado por: #Aitor en 23 Diciembre 2013, 20:10 pm No sé si sea la forma correcta o segura como lo hago, pero yo lo que uso es row_Count() de PDO. Por ejemplo, ejecuto la consulta (el SELECT bla bla..) buscando el usuario que se intenta registrar y con row_Count() reviso si no me regresa 0, muestro que ya existe el usuario. Con la libreria mysql_* creo que era mysql_num_rows pero te recomiendo uses PDO para más seguridad y ya es hora que te actualices :P Salu2! Hola. Se agradece mucho tu respuesta, la verdad es que ando aprendiendo PHP, y ya que empecé con esto, me gustaría acabarlo. Sé que las sentencias que empleo en un futuro serán eliminadas (no es que lo diga yo, si no el famoso manual PHP). xD! Pero de momento me mantengo con esto, creo que se me complicará si me pongo con lo otro. Al final conseguí resolverlo (yo solito *Orgullo por lo alto :silbar: :silbar:*) Dejaré aquí la solución por si alguien tuviese el mismo problema, que de hecho, la solución era muy simple para el tiempo que tarde en encontrarla. Recordemos que teniamos este código: Código
Pero solo miraba la primera fila que se encontraba en la columna user. Para que mirase todas, lo más fácil era hacer un bucle, que se rompiense cuando Código retornase FALSE El ciclo sería; Código
No obstante sigue existiendo el problema de que no se puede evaluar con un if porque el valor de $sesion["user"] seria el del final del ciclo en este caso solo evaluaria el del final de la columna user. La solución es muy simple, basta con decirle al while que rompa el ciclo cuando retorne false O la variable $user sea igual a la variable $sesion["user"]; Es más fácil explicarlo en código. Código
De esta forma el ciclo se rompe cuando retorne falso o $dato sea igual a $user, como al romperse el ciclo, no sabemos cual es la razón verdadera por la que se rompio, realizamos una simple condicion. Así de simple. Un saludo ^^. (Que pesado soy :rolleyes:) |