Foros del Web » Programando para Internet » PHP »

problema con date en consulta sql

Estas en el tema de problema con date en consulta sql en el foro de PHP en Foros del Web. Código PHP:     $inh_nombre      =     htmlentities ( strtoupper ( $_POST [ inh_nombre ]));      $inh_apellido      =     htmlentities ( strtoupper ( $_POST [ inh_apellido ]));      $inh_fecha          ...
  #1 (permalink)  
Antiguo 07/04/2008, 09:19
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
De acuerdo problema con date en consulta sql

Código PHP:
    $inh_nombre     =    htmlentities(strtoupper($_POST[inh_nombre]));
    
$inh_apellido     =    htmlentities(strtoupper($_POST[inh_apellido]));
    
$inh_fecha         =    $_POST[Y]."-".$_POST[M]."-".$_POST[D];
    
    
$sector_id         =    $_POST[sector];
    
$titular_id     =    $_POST[titular_id];
    
$numero         =    $_POST[numero];
    
$observaciones     =     $_POST[observaciones];

    
mysql_query("INSERT INTO panteon (numero, sector_id, titular_id, inh_nombre, inh_apellido, inh_fecha_fallec, observaciones) VALUES ('$numero', '$sector_id', '$titular_id', '$inh_nombre', '$inh_apellido', '$inh_fecha_fallec', '$observaciones');"$link); 
este es el codigo que utilizo para ingresar los datos a la base, fijence como ingreso la fecha en la variable inh_fecha
y en el tipo de campo en la base de datos tengo tipo DATE....
pero cuando se ejecuta la consulta me devuelve un resultado correcto y todos los datos se guardan correctamente, pero la fecha queda asi "0000-00-00"

alguien sabe porque puede ser?
  #2 (permalink)  
Antiguo 07/04/2008, 09:26
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: problema con date en consulta sql

Reemplaza esto:

Código PHP:
    mysql_query("INSERT INTO panteon (numero, sector_id, titular_id, inh_nombre, inh_apellido, inh_fecha_fallec, observaciones) VALUES ('$numero', '$sector_id', '$titular_id', '$inh_nombre', '$inh_apellido', '$inh_fecha_fallec', '$observaciones');"$link); 
Por esto:

Código PHP:
 mysql_query("INSERT INTO panteon (numero, sector_id, titular_id, inh_nombre, inh_apellido, inh_fecha_fallec, observaciones) VALUES ('$numero', '$sector_id', '$titular_id', '$inh_nombre', '$inh_apellido', '$inh_fecha', '$observaciones');"$link); 

Otra cosa, a las variables traidas por POST no conviene que las uses así:

Código PHP:
$_POST[inh_nombre
sino mas bien así:

Código PHP:
$_POST['inh_nombre'
Le ahorrarás trabajo a PHP

Salud!
  #3 (permalink)  
Antiguo 07/04/2008, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema con date en consulta sql

Tu problema es que en tu query, insertas $inh_fecha_fallecido, y tu variable se llama $inh_fecha.

Saludos.

PD te recomiendo que uses comillas simples al leer desde $_POST o cualquier otra variable, es decir en lugar de $_POST[Y] uses $_POST['Y'].

Saludos.
  #4 (permalink)  
Antiguo 07/04/2008, 12:37
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Re: problema con date en consulta sql

gatorV porque es conveniente usar comillas simples? si funciona igual :S o sea es una duda que siempre tuve!:....

lo uso sin comillas solamente porque me gusta mas jajaj... es mas lindo a mi vista pero si podrias explicarme cual es la razon te lo agradeceria

y tambien te comento que en todos los tipos de arrays que manejo en php lo hago de la misma forma :S...... esto tambien esta equivocado ?

$matriz = array();

$matriz[hola] = "mensaje";

y gracias por la respuesta! no me habia dado cuenta de el error que tenia
  #5 (permalink)  
Antiguo 07/04/2008, 13:33
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
De acuerdo Re: problema con date en consulta sql

Hola korg1988,

Cuando usamos variables en php se usa el signo $.
En cambio cuando usamos constantes no se usa el signo "$" sino que se escribe directamente.

Por ejemplo:

Código PHP:
define("TEST","HOLA"); 
Si hacemos

Código PHP:
echo TEST
Imprimirá "HOLA".

Por qué te explico esto de la constante??
Aquí viene la cosa:


Cuando tu usas:

$array[dato]

PHP lo que hace es buscar si "dato" es una constante. Y en el caso que la constante no exista entonces busca el índice 'dato'.

Para ahorrar ese trabajo a PHP ponemos comillas simples para que no tenga que buscar si la constante exista.

En qué casos no es necesario usar las comillas simples en índices de arrays?

1- Cuando el índice es numérico
2) Cuando el aaray está dentro de una cadena delimitada por comillas dobles:
Código PHP:
echo  "$array[dato]"
En ese caso PHP interpreta directamente de que se trata de un índice directo.

SAludos
  #6 (permalink)  
Antiguo 07/04/2008, 13:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: problema con date en consulta sql



ole, ole y ole



gran explicacion, si señor
  #7 (permalink)  
Antiguo 07/04/2008, 14:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema con date en consulta sql

También ya que si estas corriendo PHP, y la directiva de reportes esta configurada sobre E_STRICT, te lanzara muchos errores de que la variable que quieres usar no esta definida, o no es una constante.

Eso ocasionara que se vean muchos errores en pantalla, es mejor programar de la forma correcta.

Saludos.
  #8 (permalink)  
Antiguo 07/04/2008, 15:05
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: problema con date en consulta sql

Cita:
Iniciado por usermax Ver Mensaje
En qué casos no es necesario usar las comillas simples en índices de arrays?

1- Cuando el índice es numérico
2) Cuando el aaray está dentro de una cadena delimitada por comillas dobles:
Código PHP:
echo  "$array[dato]"
En ese caso PHP interpreta directamente de que se trata de un índice directo.

SAludos

Muy buena explicación :)

yo añadiría...

3- Cuando el índice es UNA CONSTANTE defenida previamente(de hecho en este caso ponerlas sería el error curiosamente aunque no devuelva error, pa volverse loco :) !!!)
Por ejemplo:

Código PHP:
define('indicePrueba''pais');

$matriz = array( 'pais' => 'España' 'ciudad' => 'Alicante');

$matriz[indicePrueba//es correcto 
De hecho hay muchas aplicaciones prefabricadas que utilizan esta forma de definir los índices de array asociativos pasando por constantes predefinidas.

Mas info como siempre :)

http://es.php.net/manual/es/language.types.array.php

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 07/04/2008 a las 15:12
  #9 (permalink)  
Antiguo 09/04/2008, 06:08
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
Re: problema con date en consulta sql

muchas gracias, corregi todo mi codigo usando comillas simples jajaj!

un trabajo de hormigas! pero bueno! :P no lo volvere a hacer jaja

gracias por la solucion no me habia dado cuenta que tenia equivocado el nombre de la variable en la consulta...

estoy un poco mareado con este trabajo que estoy realizando!
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 21:27.