Retroceder   Foros del Web > Programación para sitios web > Bases de Datos
Crea un nuevo usuario o inicia sesión utilizando tu cuenta de Facebook
Connect with Facebook

Respuesta
 
Herramientas Desplegado
Antiguo 07-may-2008, 09:07   #1 (permalink)
erivier ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
erivier está desconectado
SQL me graba el nombre de variables y no contenido

Estoy intentando subir datos desde un form a una base de datos pero al momento de grabar me registra los nombres de las variables y no los datos

abajo la rutina

<?PHP
require "conex.php";
$l_champs = mysql_list_fields ( $db,'customers', $conexion);

for ($i=1; $i < mysql_num_fields ($l_champs); $i++) {
$gv="";
$gvar = mysql_field_name($l_champs, $i); //nombre del campo de la base
$gv="cus".$gvar; //variable hecha con el campo
$fv="cus".$gvar; //nombre de la variable del form

if (isset($_POST[$fv])) {
$$gv = $_POST[$fv];
}else{
$$gv = "";
}
}

LAS VARIABLES DEL FORM tienen los mismos nombres de los campos de mi tabla pero con "cus" al principio

$tcamp = mysql_num_fields ($l_champs);
$campos = "";
$variables = "";

for ($i=1; $i < $tcamp ; $i++) {
$ncam = mysql_field_name($l_champs, $i);
$campos = $campos.$ncam;
$vcam = chr(39).chr(36)."cus".$ncam.chr(39);
$variables = $variables.$vcam;
if ($i < ($tcamp - 1)){
$campos=$campos.",";
$variables=$variables.",";
}
}
$query = "INSERT INTO customers($campos) VALUES(".$variables.")";
mysql_query($query); ?>
  Responder Citando
Antiguo 07-may-2008, 10:47   #2 (permalink)
erivier ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
erivier está desconectado
Re: SQL me graba el nombre de variables y no contenido

Por el momento he resuelto de la siguiente manera pasando a $variables directamente el contenido de las variables de POST, pero si tienen una mejor solucion no duden en avisarme.

<?PHP
session_start();
error_reporting(E_ALL);

if(!isset($SESSION)){
header("location: userid.php");
} else {
echo "Hola " . $SESSION['nombre'] . ", este es un contenido privado!<br/>
<a href='logout.php'>logout</a>";
}
require "conex.php";
$l_champs = mysql_list_fields ( $db,'customers', $conexion);

$variables = "";
$tcamp = mysql_num_fields ($l_champs);
for ($i=1; $i < $tcamp; $i++) {
$gv="";
$gvar = mysql_field_name($l_champs, $i); //nombre del campo de la base
$gv="cus".$gvar; //variable hecha con el campo
$fv="cus".$gvar; //nombre de la variable del form

if (isset($_POST[$fv])) {
$$gv = $_POST[$fv];
}else{
$$gv = "";
}
$vcam = "";
$vcam = "\'".$$gv."\'";
$variables = $variables.$vcam;


if ($i < ($tcamp - 1)){
$variables=$variables.",";
}

}



$campos = "";

for ($i=1; $i < $tcamp ; $i++) {
$ncam = mysql_field_name($l_champs, $i);
$campos = $campos.$ncam;
$vcam = "\'\$cus".$ncam."\'";
if ($i < ($tcamp - 1)){
$campos=$campos.",";
}
}

$variables = stripslashes($variables);
$query = "INSERT INTO customers($campos) VALUES($variables)";
mysql_db_query($db,$query,$conexion);
?>
  Responder Citando
Respuesta
No hay votos aún.
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.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 19:25.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100