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

2votos

como conectar y registrar datos en una base de datos mysql desde php

bueno antes de preguntar quiero aclarar que mi proyecto esta corriendo en un servidor local xamp

el problema es el siguiente: la conexion con la base de datos funciona pero por un error misterioso no puedo enviar datos de un formulario a una base de datos mysql, he intentado hacerlo de mil formas pero nada, el error persiste
la estructura de mi proyecto esta compuesta por 4 carpetas(css,js,img,php) mi carpeta principal es php la cual contiene 8 ficheros los cuales son: conexion.php, login.php, logout.php, verificador.php ,registro.php, perfil.php

les dejo una muestra de mi codigo:

$nome= $_POST['nome'];
$telefono = $_POST['telefono'];
$email = $_POST ['email'];
$password = $_POST['password'];

include ("conexion.php");

$insertar = INSERT into 'usuarios' ('nome', 'telefono', 'email', 'password') values ('$nome', '$telefono', '$email', '$password')";

$resultado = mysql_query($conex, $insertar);    //ejecutar la sentencia a traves de la variable creada con la consulta         error

mysql_query($resultado);   // error

 if(!$resultado)
    {
        echo nl2br("mensaje".":"."fallo la registracion"."\n") ;
    }
else
    {
        echo "registro completado con exito" ;
    }

 mysql_close($conex);  //cerrar la conexion con la bd
?>

espero que sepan encontrar el fallo, muchas gracias

2 Respuestas

0voto

numero2222 Puntos910

El include ("conexion.php"); pon al inicio

y pon ("php/conexion.php"); avisa si te da resultado

y si no responde el include pones esto require ("php/conexion.php");

$nome= $_POST['nome'];
$telefono = $_POST['telefono'];
$email = $_POST ['email'];
$password = $_POST['password'];

$insertar = INSERT into 'usuarios' ('nome', 'telefono', 'email', 'password') values ('$nome', '$telefono', '$email', '$password')";

$resultado = mysql_query($conex, $insertar);    //ejecutar la sentencia a traves de la variable creada con la consulta         error

mysql_query($resultado);   // error

 if(!$resultado)
    {
        echo nl2br("mensaje".":"."fallo la registracion"."\n") ;
    }
else
    {
        echo "registro completado con exito" ;
    }

 mysql_close($conex);  //cerrar la conexion con la bd
?>

hay que hacer la actualizacion de mysql a mysqli

steven comentado Jul 27, 2016

la conexion con la base de datos funciona, el problema es cuando intento enviar datos de un formulario y registrarlo en mi db.
te comparto mi codigo de conexion.php
http://pastebin.com/xnGaEy99

2votos

angelAparicio Puntos1830

Hola, creo que el error está en la llamada a mysql_query, que la estás haciendo al revés. El primer parámetro es la query, el segundo es la conexión:
http://php.net/manual/es/function.mysql-query.php

Sería:

$resultado = mysql_query($insertar, $conex);

Por otra parte, te recomiendo usar la función mysql_error para depurar errores. Es decir, en vez de:

echo nl2br("mensaje".":"."fallo la registracion"."\n") ;

Sería mejor:

echo ("Error al insertar: ".mysql_error());

http://php.net/manual/es/function.mysql-error.php

steven comentado Jul 27, 2016

hola creo que el problema esta en la base de datos, funciona solo cuando lo hago desde la interfaz de phpmyadmin.
te doy mas detalles, quizas el error sea una por una mala configuracion en la estructura de archivos
en mi carpeta funciones esta colocado el forumulario form.html y mi archivo corriente registro.php que lo procesa y despues lo deberia enviar a mi base de datos mysql
en mi base de datos tengo una db nominada registro dentro de ella esta mi tabla de usuarios con los siguientes campos
nome telefono email password cada uno tiene como parametro text ok
por el momento he registrado un usuario con mis datos. en este caso quize comprobar la funcion de verificar usuarios mediante la siguiente consulta de mi script verificar.php

http://pastebin.com/Fwj8Vcw0
pero este codigo tampoco funciona, si es necesario te puedo dar mas detalles gracias

steven comentado Jul 27, 2016

mi objetivo es crear un sistema de usuarios como el que utiliza esta plataforma web, al principio parece algo sencilllo pero resulta ser un proceso tedioso y complicado, si es que alguien esta familiarizado con esto por favor me ilustre el esquema gracias

angelAparicio comentado Jul 27, 2016

¿Pero que error te da? ¿Se queda la página en blanco?

steven comentado Jul 27, 2016

exactamente despues de completar el formulario carga la pagina de registro.php con el siguiente mensaje
conexion exitosa
error al insertar registro query was empty

en cambio para verifidor.php me da el siguiente error:
estado:conexion exitosa

Warning: mysql_query() expects parameter 1 to be string, resource given in F:\xamp\htdocs\web\php\funciones\verificador.php on line 11
hubo un error
Warning: mysql_num_rows() expects parameter 1 to be resource, null given in F:\xamp\htdocs\web\php\funciones\verificador.php on line 15
usuario inexistente
Warning: mysql_free_result() expects parameter 1 to be resource, null given in F:\xamp\htdocs\web\php\funciones\verificador.php on line 29

angelAparicio comentado Jul 27, 2016

Warning: mysql_query() expects parameter 1 to be string, resource given in F:\xamp\htdocs\web\php\funciones\verificador.php on line 11

A ver, es lo que te comenté, que estás poniendo los parámetros de mysql_query al revés.

No es
_mysqlquery($conex, $consulta)

Tienes que poner:
_mysqlquery($consulta, $conex)

La documentación: http://php.net/manual/es/function.mysql-query.php

steven comentado Jul 27, 2016

esta escrito bien mi codigo, controlalo tu mismo
conexion
http://pastebin.com/SQNX2Az8

registro
http://pastebin.com/PyZ76QVf

verificador
http://pastebin.com/K2wEBY8R

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

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

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

Conecta