Foros del Web » Programando para Internet » PHP »

como guardar en la base de datos con php

Estas en el tema de como guardar en la base de datos con php en el foro de PHP en Foros del Web. Hola, estoy tratando de llenar una base de datos a traves de los campos de un formulario, como hago para guardar en un campo (en ...
  #1 (permalink)  
Antiguo 24/12/2003, 11:33
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 4 meses
Puntos: 0
como guardar en la base de datos con php

Hola, estoy tratando de llenar una base de datos a traves de los campos de un formulario, como hago para guardar en un campo (en este caso llamado consumible) de la tabla “consumibles”, si en ese formulario no introduzco el campo clave que en este caso es “cod_cons”.

Creo que el problema es que en el insert no estoy considerando el campo clave, pero si lo coloco como aparece en el siguiente codigo ’’ con comillas solas, no funciona ya que la primera vez guarda en el campo clave un 0, y me guarda el campo”consumibles, pero si se vuelve hacer otro insert, da error porque ya encuentra el campo clave con valor=0.
El codigo es el siguiente:

<?php

if (isset($acc))
{
$cn = conectarse();

//Para guardarlo desde los menus desplegables
$sql = "INSERT INTO detalle_consumibles (NRO_REQ,COD_CONS,CANT_CONS_SOL) values";
$sql.= "('','','$cant1')";
$result = mysql_query($sql, $cn);
}
else {
}
?>

Le agradeceria que me ayudaran aunque sea dandome una idea de como hacer esto
  #2 (permalink)  
Antiguo 24/12/2003, 15:53
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Ya estas tratando las variables antes de insertarlas al query??

Recuerda que tienes que indicarle si la variable viene por POST o por GET o por SESSION

EJ:

$cant1 = $_POST['cant1'];

o

$cant1 = $_GET['cant1'];

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #3 (permalink)  
Antiguo 26/12/2003, 08:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola, cuando me dices que si estoy tratando las variables, es que previamente defina las misma como GET o POST? Disculpa que pregunte pero como se cual usar, es q soy novata en esto y no entiendo bien para que se usa cada uno??

Lo que he leido es q el metodo GET se usa para solicitar información y en la misma peticion enviar variables con sus correspondientes valores, en cambio el metodo POST se utiliza principalmente para el envio de formularios.

Si por favor podria recomendarme cual usar en mi caso??
Siempre que voy a enviar los datos en una sentencia SQL, tengo q indicarle porque método va cada una??
  #4 (permalink)  
Antiguo 26/12/2003, 10:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si usastes un formulario para enviar esas variables al script que haces el proceso de insercción en tu BD .. el "method" del formulario es lo que indica como debes de recorgerlo en tu scritp.php (GET o POST) .. si no indicastes nada en tu method del formulario .. se asume GET y si usases un link para enviar dichos datos (variabels) .. equivale a GET.

Pon el código completo del script/HTML que envia tus variables a tu script de proceso y así veremos que usas. Pero, .. por la forma de uso de variables que hay en el código que pusistes .. estás asumiento todas las variables como globales.
Cita:
Siempre que voy a enviar los datos en una sentencia SQL, tengo q indicarle porque método va cada una??
Los "datos" no los envias a una consulta SQL . sino a un script PHP (código php) .. que "montará" la sentencia SQL y la ejecutarás desde PHP con las funciones y métodos que ya usas. Esto es importante saber que .. quien interactua con "SQL" (con tu BD) es PHP (en este caso) .. y entre el "cliente" (tu navegador-usuario) y PHP (el "servidor").. lo hace a traves de tus formularios/links cualquier otro tipo de interacción.

Lee esta FAQ al respecto:
http://www.forosdelweb.com/showthrea...989#post238989

Por cierto .. ¿tu campo clave (ID?) de tu BD.. es autonumérico y único?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 26/12/2003, 10:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 212
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola, Gracias por la informacion que me enviaste.

Yo use un formulario para enviar las variables y al mismo le coloque:
<form name="form1" method="post" action="">, deseo procesar el formulario dentro de la misma pagina por ello no coloque nada despues de action, es correcto hacer esto, verdad??

Mi campo clave es autonumerico, en este caso es COD_CONS. Segun lo q entiendo mis variables las estoy usando como globales, y no las estoy definiendo, pero aun no logro insertar en la base de datos el campo que comente"CANT_CONS_SOL"

mi formulario tiene unos campos de texto a traves del cual ell usuario envia la cantidad, así:

<?php

if (isset($acc))
{
$cn = conectarse();

$sql7 = "INSERT INTO detalles_consumibles (NRO_REQ,COD_CONS,CANT_CONS_SOL) values";
$sql7.= "('','','$cant12')";
$result7 = mysql_query($sql7, $cn);
}
else {
}
?>

tengo algo malo en mi codigo??

Última edición por sofia2; 26/12/2003 a las 11:04
  #6 (permalink)  
Antiguo 26/12/2003, 13:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Aunque el efecto conseguido es que se envie a si mismo si usas:

<form name="form1" method="post" action="">,

Lo que deberías usar en action= es el nombre de la própia página o bien obtenerla desde PHP vía la variable de servidor:

Código PHP:
<? echo $_SERVER['PHP_SELFT'?>
Para localizar tu error .. empieza usando:

Código PHP:
$result7 mysql_query($sql7$cn) or die (mysql_error()); 
Así veras posibles errores en el SQL empleado. y/o de conexión a tu BD.

Revisa el estado de la directiva de tu php.ini (en un phpinfo() también se puede ver): register_globals (según se indica en la FAQ que te recomendé anteriormente). Y .. Sería lo ideal que desde YA o YA usases los arrays superglobales $_GET, $_POST .. etc (si usas PHP 4.1.0 en adelante)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:56.