Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al insertar datos

Estas en el tema de Problema al insertar datos en el foro de PHP en Foros del Web. Hola gente. Tengo un problema con este sistema de registro.. Resulta que funciona bien (los mensajes), pero al ver la DB no hay datos insertados.. ...
  #1 (permalink)  
Antiguo 06/09/2015, 19:58
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Problema al insertar datos

Hola gente.

Tengo un problema con este sistema de registro..
Resulta que funciona bien (los mensajes), pero al ver la DB no hay datos insertados..

este es mi code:
Código PHP:

<?php
require('include/config.php');
mysqli_select_db($conexion,$db_web)or die("Error al seleccionar la base de datos.");
if(isset(
$_POST['registro_boton'])){
        
extract($_POST);
            
$registro_consulta mysqli_query($conexion,"SELECT * FROM users WHERE username='$registro_usuario' | email='$registro_correo'");
    
$registro_resultado mysqli_num_rows($registro_consulta);
    if(
$registro_usuario=="" $registro_contra=="" $registro_rcontra=="" $registro_correo=="" $registro_localizacion==""){
        
$registro_mensajes="<img src='images/icon/incorrecto.png' width='12px'>"." "."<span id='texto_incorrecto'>"."No puedes dejar campos en blanco."."</span>";
    }elseif(
strlen($registro_usuario)<=strlen($registro_usuario)>10){
        
$registro_mensajes="<img src='images/icon/incorrecto.png' width='12px'>"." "."<span id='texto_incorrecto'>"."El usuario tiene que tener entre 6 y 10 caracteres."."</span>";
    }elseif(
$registro_contra!=$registro_rcontra){
        
$registro_mensajes="<img src='images/icon/incorrecto.png' width='12px'>"." "."<span id='texto_incorrecto'>"."Las contrase&ntilde;as no coinciden."."</span>";
    }elseif(
strlen($registro_contra)<=strlen($registro_contra)>16){
        
$registro_mensajes="<img src='images/icon/incorrecto.png' width='12px'>"." "."<span id='texto_incorrecto'>"."La contrase&ntilde;a debe tener entre 6 y 16 caracteres."."</span>";
    }elseif(
$registro_resultado==true){
        
$registro_mensajes="<img src='images/icon/incorrecto.png' width='12px'>"." "."<span id='texto_incorrecto'>"."El nombre de usuario o el correo ya estan en uso."."</span>";
    }else{
        
mysqli_query($conexion,"insert into users (username,password,email,localication,lock,premium) VALUES('$registro_usuario','$registro_contra','$registro_correo','$registro_localizacion','0','0')");
        
$registro_mensajes="<img src='images/icon/correcto.png' width='12px'>"." "."<span id='texto_correcto'>"."Cuenta creada correctamente."."</span>";
}}
?>
Bueno.. la verdad estuve mirandolo durante mas de 30 minutos.. no obstante, no veo el error..

Código:
Tambien revise los "name" de los inputs y nada..
Agradeceri un poco de ayuda..
Al fin y al cabo no se depurar muy bien..
  #2 (permalink)  
Antiguo 06/09/2015, 23:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al insertar datos

Cita:
Al fin y al cabo no se depurar muy bien..
Pues esa es la solución a tus problemas, ¿cómo puedes verificar que el INSERT se ejecuta correctamente si no depuras nada?

Nadie lo hará por ti recuerda.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/09/2015, 23:20
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Problema al insertar datos

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues esa es la solución a tus problemas, ¿cómo puedes verificar que el INSERT se ejecuta correctamente si no depuras nada?

Nadie lo hará por ti recuerda.
Dije qu no se hacerlo bien...
Pero hasta recien estaba intentando hacerlo funcionar pero no sirve..
leo cada linea como un idiota y no la encuentro >.<
  #4 (permalink)  
Antiguo 06/09/2015, 23:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al insertar datos

Cita:
Pero hasta recien estaba intentando hacerlo funcionar pero no sirve..
Ajá, ¿y por qué no mejor muestras lo que has intentado para orientarte al respecto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/09/2015, 00:44
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Problema al insertar datos

Cita:
Iniciado por pateketrueke Ver Mensaje
Ajá, ¿y por qué no mejor muestras lo que has intentado para orientarte al respecto?
Mira, soy una persona poco paciente..
he cometido errores muy torpes y para solucionarlo he reprogramado el code completo..
Hoy hice exactamente lo mismo.

Código:
Primero, verifique los "NAME" del Form
Código:
Segundo, verifique las variables de la consulta sql
Código:
tercero, borre la consulta y la volvi a crear
Código:
cuarto, borreo todos los IF por si ahi estaba el error
Código:
Cree una consulta tan simple como "INSERT INTO users (username) VALUES('$registro_usuario')"
Código:
Volvi a repasar los "NAME" del form (como 10 veces)
Código:
sexto, agregue los punto y coma ";" al final de las consultas por si acaso..
Código:
Septimo, borre el "extract($_POST);" y coloque cada variable "$registro_usuario=$_POST['registro_usuario']"
La verdad no se que mas hacer..
Solo veo el maldito mensaje de "Cuenta creada correctamente" y refresco la DDBB y nada..
  #6 (permalink)  
Antiguo 07/09/2015, 01:20
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Problema al insertar datos

Puede ayudarte agregar or die(mysqli_error($conexion)); a las consultas, esto es para mostrar el mensaje de error más reciente, en caso de que haya.

Código PHP:
Ver original
  1. mysqli_query($conexion, $query) or die(mysqli_error($conexion));
  #7 (permalink)  
Antiguo 07/09/2015, 02:43
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Problema al insertar datos

Cita:
Iniciado por lubtufano Ver Mensaje
Puede ayudarte agregar or die(mysqli_error($conexion)); a las consultas, esto es para mostrar el mensaje de error más reciente, en caso de que haya.

Código PHP:
Ver original
  1. mysqli_query($conexion, $query) or die(mysqli_error($conexion));
Esta bueno, es como el depurador de la consola mysql.
El problema era que tenia que colocar estas comillitas: `username`,`password`..
nunca me hizo falta colocar esas comillitas extrañas...
De ahora en adelante me asegurare de ponerlas obligatoriamente xahaha.
  #8 (permalink)  
Antiguo 07/09/2015, 04:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema al insertar datos

Es una consecuencia de estar embebiendo un lenguaje dentro de otro. Desde PHP las reglas y errores que se encuentren en SQL son invisibles hasta que capturas la salida del error devuelto.
En tu caso es por lo que se domina "palabras reservadas, que existen en los diferentes lenguajes.
PASSWORD es una de ellas en MySQL. Y no debería usarse como nombre de objetos de base o variables.
Para usarlo, cuando no se puede evitar, MySQL exige que ese nombre quede encerrado entre acentos agudos, como has hecho ahora.
Lo mismo pasa para usar caracteres reservados de nuevo los nombres de objetos de base de datos.

Lo mejor es evitar su uso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 07/09/2015 a las 05:50

Etiquetas: mysql, registro, select
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 18:53.