Ver Mensaje Individual
  #11 (permalink)  
Antiguo 02/12/2013, 19:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: variables de sesion en INSET INTO

Cita:
Como editor uso Dreamweaver.


Eso no lo menciones como editor. Es una herramienta de diseño de webs, no un editor de PHP. No sirve para lo que necesitas en esa etapa.

Bueno, yendo al código, tiene muchos errores. Muchos. Pero unos cuantos de ellos no sé si son producto del copy+Paste o son errores de tecleo.

Por empezar, hay unos cuantos campos cuyos nombres están partidos por un espacio en blanco, lo que seguro genera un error de sintaxis.

Además, al final hay una coma de más sin correspondiente campo final, en la declaración de campos del INTO.

Luego, estás metiendo un "or die" luego de la creación de la sentencia, que francamente no sé para qué sirve, pero seguro que no existe ningún mysql_error() en ese punto, por cuanto aún no has ejecutado nada.

Y finalmente no podemos saber si no se rompe la sintaxis por el contenido de las variables no numéricas, porque no solo no las estás sanitizando, ni validando, sino que además las tomas directamente del objeto sesión, lo que es una mala práctica.

Este es tu código, algo más legible. Te sugiero no hacer códigos "chorizo" como ese. Hazlo de forma que puedas leerlo con facilidad:

Código PHP:
<?php

# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_cnx_metahogar "localhost";
$database_cnx_metahogar "bdmetahogar";
$username_cnx_metahogar "root";
$password_cnx_metahogar "";
$empresa 101;
$cnx_metahogar mysql_pconnect($hostname_cnx_metahogar$username_cnx_metahogar$password_cnx_metahogar) or trigger_error(mysql_error(), E_USER_ERROR);


mysql_select_db($database_cnx_metahogar$cnx_metahogar);
$sql "INSERT INTO tbl_datos_vivienda (idContadorDatos, ";
$sql .= "intActivo,  strZonaClimatica, strOri entacion, intComedorLargo, ";
$sql .= "intComedorAncho, intComedo rAlto, intComedorVentanas, intComedorParedes, intHabi t1Largo, ";
$sql .= "intHabit1Ancho, intHabit1Alto, intHabit1Vent anas, intHabit1Paredes, intHabit2Largo,  ";
$sql .= "intHabit2Anch o, intHabit2Alto, intHabit2Ventanas, intHabit2Paredes, intHabit3Largo, ";
$sql .= "intHabit3Ancho, intHabit3Alto, intHa bit3Ventanas, intHabit3Paredes, intHabit4Largo, ";
$sql .= "intHa bit4Ancho, intHabit4Alto, intHabit4Ventanas, intHabit 4Paredes, intBanoLargo, ";
$sql .= "intBanoAncho, intBanoAlto, int BanoVentanas, intBanoParedes, intAseoLargo, intAseoAn cho, ";
$sql .= "intAseoAlto,intAseoVentanas, intAseoParedes, int Pasillo1Largo, intPasillo1Ancho, intPasillo1Alto, ";
$sql .= "int Pasillo1Ventanas, intPasillo1Paredes, intPasillo2Lar go, intPasillo2Ancho, intPasillo2Alto, ";
$sql .= "intPasillo2Ven tanas, intPasillo2Paredes, intRecibidorLargo, intReci bidorAncho, intRecibidorAlto,  ";
$sql .= "intRecibidorVentanas,i ntRecibidorParedes, intCocinaLargo, intCocinaAncho, intCocinaAlto,  ";
$sql .= "intCocinaVentanas, intCocinaParedes,) "/// Esa coma seguro genera error de sintaxis
$sql .= "VALUES (NULL,'" $empresa "', '" $zona "',  ";
$sql .= "'" $orientacion " ', '" $_SESSION['Comedor_largo1'] . "',  ";
$sql .= "'" $_SESSION['Comedor_ancho1'] . "', ";
$sql .= "'" $_SESSION['Comedor_alto1'] . "', ";
$sql .= "'" $_SESSION['Comedor_retorno_ventana1'] . "', ";
$sql .= "'" $_SESSION['Comedor_retorno_paredes1'] . "', ";
$sql .= "'" $_SESSION['Hab_1_largo5'] . "', ";
$sql .= "'" $_SESSION['Hab_1_ancho5'] . "', ";
$sql .= "'" $_SESSION['Hab_1_alto5'] . "', ";
$sql .= "'" $_SESSION['Hab_1_retorno_ventana5'] . "', ";
$sql .= "'" $_SESSION['Hab_1_retorno_paredes5'] . "', ";
$sql .= "'" $_SESSION['Hab_2_ancho6'] . "', ";
$sql .= "'" $_SESSION['Hab_2_alto6'] . "', ";
$sql .= "'" $_SESSION['Hab_2_retorno_ventana6'] . "', ";
$sql .= "'" $_SESSION['Hab_2_retorno_paredes6'] . "', ";
$sql .= "'" $_SESSION['Hab_3_largo7'] . "', ";
$sql .= "'" $_SESSION['Hab_3_ancho7'] . "', ";
$sql .= "'" $_SESSION['Hab_3_alto7'] . "', ";
$sql .= "'" $_SESSION['Hab_3_retorno_ventana7'] . "', ";
$sql .= "'" $_SESSION['Hab_3_retorno_paredes7'] . "', ";
$sql .= "'" $_SESSION['Hab_4_largo8'] . "', ";
$sql .= "'" $_SESSION['Hab_4_ancho8'] . "', ";
$sql .= "'" $_SESSION['Hab_4_alto8'] . "', ";
$sql .= "'" $_SESSION['Hab_4_retorno_ventana8'] . "', ";
$sql .= "'" $_SESSION['Hab_4_retorno_paredes8'] . "', ";
$sql .= "'" $_SESSION['Bano_largo3'] . "', ";
$sql .= "'" $_SESSION['Bano_ancho3'] . "', ";
$sql .= "'" $_SESSION['Bano_alto3'] . "', ";
$sql .= "'" $_SESSION['Bano_retorno_ventana3'] . "', ";
$sql .= "'" $_SESSION['Bano_retorno_paredes3'] . "', ";
$sql .= "'" $_SESSION['Aseo_largo2'] . "', ";
$sql .= "'" $_SESSION['Aseo_ancho2'] . "', ";
$sql .= "'" $_SESSION['Aseo_alto2'] . "', ";
$sql .= "'" $_SESSION['Aseo_retorno_ventana2'] . "', ";
$sql .= "'" $_SESSION['Pasillo_1_largo9'] . "', ";
$sql .= "'" $_SESSION['Pasillo_1_ancho9'] . "', ";
$sql .= "'" $_SESSION['Pasillo_1_alto9'] . "', ";
$sql .= "'" $_SESSION['Pasillo_1_retorno_ventana9'] . "', ";
$sql .= "'" $_SESSION['Pasillo_1_retorno_paredes9'] . "', ";
$sql .= "'" $_SESSION['Pasillo_2_largo10'] . "')" or die(mysql_error());

mysql_query($sql$cnx_metahogar) or die(mysql_error());
$status "ok";
?>
Para completarlo, efectivamente, el modelo de datos que tienes es incorrecto, y si, se puede y se debería normalizar. pero ese es tema de otro foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)