Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

SQL me graba el nombre de variables y no contenido

Estas en el tema de SQL me graba el nombre de variables y no contenido en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/05/2008, 09:07
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 2 meses
Puntos: 0
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); ?>
  #2 (permalink)  
Antiguo 07/05/2008, 10:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 10
Antigüedad: 17 años, 2 meses
Puntos: 0
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);
?>
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 14:42.