![]() |
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); ?> |
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); ?> |
| La zona horaria es GMT -6. Ahora son las 20:46. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.