Foros del Web » Programando para Internet » PHP »

Por que no me agrega registros a mysql??

Estas en el tema de Por que no me agrega registros a mysql?? en el foro de PHP en Foros del Web. Buenos días compañeros, tengo el siguiente problema, quiero manipular registro en mysql con php, tengo php 4 y ya tengo instalado mysql tambien, esta corriendo ...
  #1 (permalink)  
Antiguo 16/07/2005, 12:08
Avatar de tauro  
Fecha de Ingreso: marzo-2002
Ubicación: Actualmente: Cd. Victoria
Mensajes: 222
Antigüedad: 15 años, 8 meses
Puntos: 0
Por que no me agrega registros a mysql??

Buenos días compañeros, tengo el siguiente problema, quiero manipular registro en mysql con php, tengo php 4 y ya tengo instalado mysql tambien, esta corriendo y todo, estoy utilizando este codigo php:
Código:
<?php
if ($enviar) {
// process form
$link = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
$sql = "INSERT INTO agenda (nombre, direccion, telefono, email) ";
$sql .= "VALUES ('$nombre', '$direccion', '$telefono', '$email')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";
}else{
?>
<form method="get" action="form_agrega.php">
Nombre :<input type="Text" nombre = "nombre"><br>
Dirección:<input type = "Text&quo>Dirección:<input type="Text" name="direccion"><br>
Teléfono :<input type="Text" name="telefono"><br>
E-mail :<input type="Text" name="email"><br>
<input type="Submit" name="enviar" value="Envía información">
</form>
<?php
} //end if
?>
segun esto si se conecta y agrega el registro, pero consulto mysql pormedio de msdos ("select * from agenda") y me despliega: "empty(0.3 sec)" o algo asi.
que pudiera ser, cualquier ayuda les agradezco!!
saludos!!
__________________
Y entonces ví qué excelencias puede lograr un ingenio mediocre en un arte particular cuando emplea toda su vida en trabajar y afinarse en un único sentido... :arriba:
  #2 (permalink)  
Antiguo 16/07/2005, 12:31
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 14 años
Puntos: 0
lo primero esto:
Nombre :<input type="Text" nombre = "nombre"><br>
seria:
Nombre :<input type="Text" name = "nombre"><br>

Lo segundo es que aquí
$sql = "INSERT INTO agenda (nombre, direccion, telefono, email) ";
$sql .= "VALUES ('$nombre', '$direccion', '$telefono', '$email')";

las variables $nombre, $direccion.... estan vacias, antes de esta linea debes inicializarlas de esta forma
$nombre=$_REQUEST["nombre"];
$direccion=$_REQUEST["direccion"];
etc

creo que con esto te valdrá
Saludos
  #3 (permalink)  
Antiguo 16/07/2005, 12:37
Avatar de satake  
Fecha de Ingreso: julio-2004
Mensajes: 140
Antigüedad: 13 años, 4 meses
Puntos: 0
tu error puede estar en esta linea, probá cambiando eso y contame

Código:
 
$link = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);
creo que tendría que ser así

Código:
 
$link = mysql_connect("localhost", "root");
mysql_select_db("mydb",$link);
fijate que la variable de conexion a la base de datos es $link y no $db

corrijanme si me equivoco, informame si te sirvió
__________________
:aplauso: www.aponlinevillaguay.com.ar :aplauso:

Cita:
Iniciado por alguien
El arca de Noé fue hecha por principiantes, el Titanic por "profesionales".
  #4 (permalink)  
Antiguo 16/07/2005, 12:55
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Cita:
Iniciado por tauro
$sql = "INSERT INTO agenda (nombre, direccion, telefono, email) ";
$sql .= "VALUES ('$nombre', '$direccion', '$telefono', '$email')";
Oye la mayoria de las veces que a mi no me inserta datos en la tabla, tambien se ha debido a la consulta por lo de las comillas intenta esto

Código PHP:
$nombre $_GET['nombre'];
$direccion $_GET['direccion'];
$telefono $_GET['telefono'];
$email $_GET['email'];
$base "mybd";
$conectar mysql_connect("localhost","user","pass");
mysql_select_db($base,$conectar);
$sql "INSERT INTO agenda (`nombre`, `direccion`, `telefono`, `email`)
VALUES ('$nombre', '$direccion', '$telefono', '$email')"
;
mysql_query($sql,$conectar); 
Aunque lo de $_GET[ ] no es necesario pero es para dar el ejemplo.

Ojala te ayude en algo

Saludos.
  #5 (permalink)  
Antiguo 16/07/2005, 13:01
Avatar de tauro  
Fecha de Ingreso: marzo-2002
Ubicación: Actualmente: Cd. Victoria
Mensajes: 222
Antigüedad: 15 años, 8 meses
Puntos: 0
que bien, gracias!
Probé cambiando $db por $link, y asi me tomó los datos, gracias satake, ahora tambien cambié nombre por name, ahi me confundí y cambié los dos pues al principio tenía abreviado "nom", pero con losproblemas que me estuvo dando me vi en la necesidad de cambiarlos segun un ejemplo que estaba viendo, espero y se que aprenderé a manejar el php y mysql y asi podré algún día ayudar a quien lo necesite.
gracias kurlax por la observación y creo que es bueno inicilaizar.
Saludos!!
__________________
Y entonces ví qué excelencias puede lograr un ingenio mediocre en un arte particular cuando emplea toda su vida en trabajar y afinarse en un único sentido... :arriba:
  #6 (permalink)  
Antiguo 16/07/2005, 13:06
Avatar de tauro  
Fecha de Ingreso: marzo-2002
Ubicación: Actualmente: Cd. Victoria
Mensajes: 222
Antigüedad: 15 años, 8 meses
Puntos: 0
gracias hieloverdeaunque ya lo solucioné, la manera de como lo estas poniendo da el mismo resultado??? lo probaré solo que como no sé mucho de php me gustaría saber la razón de esa forma.
Gracias.
Saludos!
__________________
Y entonces ví qué excelencias puede lograr un ingenio mediocre en un arte particular cuando emplea toda su vida en trabajar y afinarse en un único sentido... :arriba:
  #7 (permalink)  
Antiguo 16/07/2005, 13:31
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 12 años, 5 meses
Puntos: 5
Si da exactamente el mismo resultado, ese es el metodo que yo utilizo para mis consultas de mysql y simpre me da muy buen resultado.
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 17:06.