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 enviar informacion de un formulario a una base de datos mysql

mi problema no encuentra solucion que mas puedo hacer
no se por cual motivo falla cuando intento registrar un nuevo usuario en mi db mysql
lo he intentando en mi servidor local xamp y en un servidor remoto y ninguno funciona
quiero recalcar que si puedo hacer la conexion con la bd mysql pero no puedo hacer ninguna operacion desde php
1-conexion

<?php

$conex = mysql_connect ('localhost', 'root', "", "registro");

if(!$conex) {echo "error";} else {echo nl2br ("estado".':'."conexion exitosa"."\n");}
?>`

resultado: conexion exitosa

2-registro

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

include ("conexion.php");

$insertar = "INSERT into 'usuarios'('id', 'nome', 'telefono', 'email', 'pass') VALUES ([$nome], [$telefono], [$email], [$password])";

$resultado = mysql_query($insertar, $conex); //esta consulta no llega al db

mysql_query($resultado);   

 if(!$resultado)
    {
        echo ("Error al insertar: ".mysql_error());
    }
else
    {
        echo "registro completado con exito" ;
    }

 mysql_close($conex);

error al insertar : query was empty 

1voto

bl4z3r comentado

Advierto que la extensión mysql es obsoleta, según la documentación de PHP. Por ende, no vas a recibir soporte por parte de ellos en caso de que tengas algún problema con algo referido a este extension. PHP y toda la comunidad que usa esta tecnología recomienda, encarecidamente, que migres a mysqli o PDO.

1voto

Peter comentado

@stevenpro97 pusiste enlaces en lugar de la ruta directa a las imágenes, por favor edita tu pregunta.

Saludos.

1voto

steven comentado

he probado tambien con mysqli pero tampoco esto resuelve el problema
creo que es un error con la base de datos he visto por la web y muchos usuarios tienen este mismo problema sin resolver
las imagenes son capturas de pantalla de mi escritorio por el momento puedes analizar mi codigo en busca de errores gracias

0voto

steven comentado

si fueras tan amable podrias pobrar mi codigo en tu maquina y depurarlo gracias

0voto

bl4z3r comentado

@stevenpro97 No voy a depurar tu código. Ese es tu trabajo. Lo único que te podemos brindarte acá son soluciones a tus problemas.

2 Respuestas

3votos

magarzon Puntos30650

Como dijo Jack el Destripador, vayamos por partes:

1) En la conexión, ese parámetro que estás pasando como "registro", en realidad es un boolean para indicar si quieres que se abra una nueva conexión cada vez que se llama a mysql_connect o no. Déjalo así:

$conex = mysql_connect ('localhost', 'root', "");

2) No has seleccionado una base de datos (no sé si es lo que querías hacer con ese parámetro "registro" en la llamada a mysql_connect). Lo puedes hacer bien insertando su nombre en la misma query (insert into registro.usuarios), bien utilizando la funcion mysql_select_db("registro", $conex) y así no tienes que incluirlo en cada query.

3) La sintaxis de la query está mal, tienes que eliminar los ' de los nombres de la tabla y las columnas y sustituir los [] por ' en los valores, y además, si el id no es autoincrementado, tendrías que pasarle un valor (y si lo es, eliminar el id de las columnas). Aquí está sin id:

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

4) No sé por qué motivo vuelves a llamar a mysql_query pasándole el resultado de la anterior query (que lo que da es el nº de filas insertadas), por eso te dice lo de "query was empty", porque estás intentando ejecutar una query que es un entero. Elimina esa línea.

Por otra parte, deberías revisar temas de seguridad, como no guardar la password en claro, utilizar mysqli, evitar injección de código usando sentencias preparadas o escapando las queries... pero eso ya es otra historia.

1voto

steven comentado

tampoco funciona de esa manera, te comparto mi proyecto trata de solucionarlo gracias

https://drive.google.com/open?id=0B9gnMkb_dpAsU3hpSVVvbXNKZ1U

1voto

magarzon comentado

¿Qué es lo que no te funciona de mi solución?

He bajado tu código (que no tiene mis modificaciones), he realizado las modificaciones que te he dicho, y funciona.

-2votos

steven comentado

podrias enviarmelo por email gracias

de otro modo podrias modificarlo remotamente desde tu pc con teamview si es que tienes tiempo claro.

4votos

ankeorum comentado

Recomiendo encarecidamente a todos los usuarios, incluido @stevenpro97 y otros que he visto, que no usen este foro para pedir a la gente que les haga cosas. Aquí se consultan fallos en nuestro código para ayudarte a que seas tu mismo quien los solucione. Si necesitan un programador sentado al lado suya haciendo SU trabajo contrátenlo. Creo que @Peter debería dejarlo esto bien claro porque cuando veo este Post o el previo de otro usuario pidiendo igualmente que se le solucione incluso reescribiendo el código para él me crea malestar ya que parece que la gente tenga que hacerlo.

4votos

magarzon comentado

@ankeorum tiene razón, sobre todo porque la solución ya está dada, y funciona con el código que ha pasado a posteriori. Si ya tenemos que enseñar también cómo se modifica el código en un editor de texto apaga y vámonos

3votos

Peter comentado

@stevenpro97 quité tu email para evitar spam. Y en cuanto a la ayuda, esta se brinda como tal en el sitio, como "ayuda". Como bien dicen no es para que le mandes a alguien todo y te lo regrese por mail, para eso tendrías que contratar a alguien. Aquí con gusto puedes pedir ayuda y como lo haz comprobado, la recibes, pero por favor no abusemos.

Saludos.

1voto

Alex_Numpaque Puntos17150

Clase conexión

<?php

$hostname_conexion = "localhost";
$database_conexion = "basededatos";
$username_conexion = "usuario";
$password_conexion = "contraseña";
$mysqli = new mysqli($hostname_conexion,$username_conexion,$password_conexion,$database_conexion);

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
} 

?> 

capturo los datos

<?php 
require_once('../Conexion/conexion.php');
session_start();

  $nombre  = '"'.$mysqli->real_escape_string(''.$_POST['nombre'].'').'"';

  $insertSQL = "INSERT INTO gs_sistema (Nombre) VALUES ($nombre)";
  $resultado = $mysqli->query($insertSQL);

?>

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