Foros del Web » Programando para Internet » PHP »

Problemas para conectar base de datos e insertar registros

Estas en el tema de Problemas para conectar base de datos e insertar registros en el foro de PHP en Foros del Web. Hola, enhorabuena por este foro, maginífico!!!Antes que de nada.. debo decir que soy principiante en esto de php y mysql, pero vamos... quiero ponerme las ...
  #1 (permalink)  
Antiguo 13/08/2009, 02:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 14 años, 8 meses
Puntos: 3
Hola, enhorabuena por este foro, maginífico!!!Antes que de nada.. debo decir que soy principiante en esto de php y mysql, pero vamos... quiero ponerme las pilas!!
Quisiera empezar mi andadura por el foro con el siguiente problema:

Acabo de realizar un pequeño fomulario de prueba para insertar dos campos en una base datos.
Este es el codigo html y el script php del archivo "subir_datos_bd.php" que es así como lo he llamado.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<?php
$link = mysql_connect("localhost","root","pedrosa") or die ("no se ha podido conectar");

mysql_select_db("bd01",$link)or die("Error al tratar de selecccionar esta base de datos");

$nombre=$_GET['nombre'];
$dni=$_GET['dni'];
$sql = "insert into prueba (nombre,dni) values ('$nombre','$dni')";
$result = mysql_query($sql) or die( "error en $sql, " . mysql_error() );
?>

<html>
<head>
<title>INSERCION DE REGISTROS EN BASE DE DATOS </title>
</head>
<body>
<form name="form1"action="subir_datos_bd.php" method="post">
<table>
<tr>
<td>
NOMBRE:
</td>
<td>
<input type="text"size="10"name="nombre">
</td>

<td>
DNI:
</td>
<td>
<input type="text"size="10"name="dni">
</td>
<td>
<input type="submit"name="enviar" value="ENVIAR">
</td>
</tr>
</table>
</form>
</body>
</html>


El problema es que no se donde fallo... por que después cuando voy al panel de phpmyadmin, no estan los registros que inserto... ¿Alguién quisiera guairme para hacer esto ,seguramente sencillisimo??
Gracias!!!!

El problema de no conectar a la base de datos parece resuelto... ya que cuando ejecuto el boton ENVIAR, acudo a phpmyadmin y ha insertado registros... pero en blanco! ¿Por que?

Última edición por GatorV; 13/08/2009 a las 21:51
  #2 (permalink)  
Antiguo 13/08/2009, 03:52
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas para conectar base de datos e insertar registros

Haz un echo de $sql para ver si la sentencia esta bien...
  #3 (permalink)  
Antiguo 13/08/2009, 04:11
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Problemas para conectar base de datos e insertar registros

compadre tu error esta en la forma que recibes los datos, el form dice que los madas por POST y los estas recibiendo por GET, deveria de ser $nombre=$_POST['nombre']; y $nombre=$_POST['dni'];
saludos.
  #4 (permalink)  
Antiguo 13/08/2009, 15:17
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problemas para conectar base de datos e insertar registros

tambien podrias poner:

$result = mysql_query($link,$sql);

ev vez de

$result = mysql_query($sql)
  #5 (permalink)  
Antiguo 17/08/2009, 01:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problemas para conectar base de datos e insertar registros

Hola de nuevo!!! después de buscar... y buscar... modifiqué el código tal que así:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<?php

$link = mysql_connect("localhost","root","pedrosa") or die ("no se ha podido conectar");

mysql_select_db("bd01",$link)or die("Error al tratar de selecccionar esta base de datos");

$nombre=$_POST['nombre'];
$dni=$_POST['dni'];
mysql_query("INSERT INTO usuario (nombre,dni) VALUES ('{$_POST['nombre']}','{$_POST['dni']}')",$link);

?>


<html>

<head>
<title>INSERCION DE REGISTROS EN BASE DE DATOS </title>
</head>

<body>

<form name="form1"action="subir_datos_bd.php" method="post">
<table>
<tr>
<td>
NOMBRE:
</td>
<td>
<input type="text"size="10"name="nombre">
</td>

<td>
DNI:
</td>
<td>
<input type="text"size="10"name="dni">
</td>
<td>
<input type="submit"name="enviar" value="ENVIAR">
</td>
</tr>
</table>
</form>

</body>

</html>



cosa que me funcionó... ya que iba a phpmyadmin y los registros se insertaban, pero modificaria después algo que ahora no se que fué, y ha dejado de funcionar... veis algo raro en código? o será algo mal configurado en el phpmyadmin?
  #6 (permalink)  
Antiguo 17/08/2009, 01:48
Avatar de Sherly  
Fecha de Ingreso: septiembre-2008
Ubicación: Valles
Mensajes: 58
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas para conectar base de datos e insertar registros

'{$_POST['nombre']}','{$_POST['dni']}')",$link);
yo generalmente solo lo pongo asi '$nombre', '$dni'); aunque uso postgresql pero es casi el mismo codigo con algunas variantes

("INSERT INTO usuario(nombre, dni) VALUES ('$nombre', '$dni')");
a ver si te sirve
si quieres te pongo el codigo que yo uso
  #7 (permalink)  
Antiguo 17/08/2009, 09:46
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problemas para conectar base de datos e insertar registros

Hola dpbataller, quizas este codigo te sea util:

$dni = $nombre = '';

$nombre = $_POST['nombre'];
$dni = $_POST['dni'];

if(!empty($nombre) && !empty($dni)){

mysql_query("INSERT INTO usuario (nombre,dni) VALUES ('" . $nombre . "','" . $dni . "')" , $link );

}else{

echo "<br /> Mensaje de error.";

}

Buena suerte
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 11:05.