Foros del Web » Programando para Internet » PHP »

No puedo inserta registro en base de dato

Estas en el tema de No puedo inserta registro en base de dato en el foro de PHP en Foros del Web. Hola a todos No se que estoy haciendo mal, quiero insertar una fila en una base de datos. Tiene 3 campos (id_cost, name, value) El ...
  #1 (permalink)  
Antiguo 29/09/2006, 06:16
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
No puedo inserta registro en base de dato

Hola a todos

No se que estoy haciendo mal, quiero insertar una fila en una base de datos. Tiene 3 campos (id_cost, name, value)
El id_cost se autoincrenta.

NO SE QUE MAS PROBAR ,LA CONECCION ESTA BIEN HECHA

NO IMPORTA LOS DATOS QUE YO INGRESE... EL CAMPO 'name' QUEDA VACIO Y EN EL CAMPO 'value' PONE UN CERO

ALGUNA IDEA (seguro es una tonteria pero ya no veo mas nada)

<div align="center">
<h1>Insertr un registros</h1>
<br>
<FORM METHOD="POST" ACTION="insertar_registros.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="name"><br>
Valor<br>
<INPUT TYPE="TEXT" NAME="value"><br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>


..
__insertar_registros.php--
<?
$name = $POST['name'] ;
$value = $POST['value'] ;
mysql_connect($hostname,$username, $password);
mysql_select_db($dbname);
//Ejecucion de la sentencia SQL
$sql = "INSERT INTO $tablename (id_cost, name, value) VALUES (NULL, '$name', '$value')";
$result = mysql_query($sql);
?>
  #2 (permalink)  
Antiguo 29/09/2006, 06:32
 
Fecha de Ingreso: septiembre-2006
Mensajes: 59
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola.

Preuba de cambiar el insert.
en vez de

$sql = "INSERT INTO $tablename (id_cost, name, value) VALUES (NULL, '$name', '$value')";


prueba

$sql = "INSERT INTO ".$tablename." (id_cost, name, value) VALUES (NULL, '".$name."', '".$value."')";

Asi te cogera bien las variables seguro...

Luego hay una funcion de mysql que te pone el valor autoincremental y no te hara falta el null (si quieres..)

no me acuerdo muy bien es algo como my_insert_db()

$nueva = my_insert_db();
$sql = "INSERT INTO ".$tablename." (id_cost, name, value) VALUES (".$nueva.", '".$name."', '".$value."')";

Esto ya va a gusto del consumidor

Un saludo
  #3 (permalink)  
Antiguo 29/09/2006, 06:37
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
He probado pero sigo insertando ceros.... en 'value' y nada en 'name'

alguna otra idea.
  #4 (permalink)  
Antiguo 29/09/2006, 07:01
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
lo he probado y el error está en que EL FORM NO PASA LOS VALORES $POST['value'] y $POST['name'].
Yo lo veo bien al FORM

alguna idea...
  #5 (permalink)  
Antiguo 29/09/2006, 07:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
El problema es que el array superglobal para acceder a tus datos en "POST" no es $POST sino $_POST (con el _ abajo)

Para que veas todo lo que tu variable $_POST contiene:
Código PHP:
echo "<pre>";
print_r($_POST);
echo 
"</pre>"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 29/09/2006, 08:27
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
gracias cluster.
ya funciona
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 10:54.