Regresar   Foros del Web > Programación para sitios web > Bases de Datos

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 07/05/08, 09:07:52   #1 (permalink)
erivier ha deshabilitado el Karma
 
Registrado: feb 2007
Mensajes: 4
erivier is offline  
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 Con Cita
Antiguo 07/05/08, 10:47:39   #2 (permalink)
erivier ha deshabilitado el Karma
 
Registrado: feb 2007
Mensajes: 4
erivier is offline  
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 Con Cita
Respuesta


Califica este Tema - SQL me graba el nombre de variables y no contenido.

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 16:38:55.

Message Board Statistics

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