Foros del Web » Programando para Internet » PHP »

SQLServer + PHP + Fechas

Estas en el tema de SQLServer + PHP + Fechas en el foro de PHP en Foros del Web. Hola, tengo q hacer una consulta a una BD SQL Server y el formato de la fecha es el siguiente: 'aaaa-mm-dd 00:00:00.000', tengo q hacer ...
  #1 (permalink)  
Antiguo 04/04/2007, 06:17
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
SQLServer + PHP + Fechas

Hola,
tengo q hacer una consulta a una BD SQL Server y el formato de la fecha es el siguiente: 'aaaa-mm-dd 00:00:00.000', tengo q hacer una comparacion de fechas, es decir q segun la fecha q le diga yo me muestre los resultados.
como deberia pasarle la variable?

xq lo he probado de la siguiente manera y me dice q no es correcto:

Código PHP:
$mifecha "2099-12-31 00:00:00.000";
$str"SELECT *  FROM tabla WHERE fecha < '$mifecha'"
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo., SQL state 22008 in SQLExecDirect in C:\Archivos de programa\Apache Group\Apache2\htdocs\PERSONAL\control\actualitzar\ personal.php on line 51
Error en odbc_exec


si le quito las comillas a la consulta me da el siguiente error;

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Línea 3: sintaxis incorrecta cerca de '00'., SQL state 37000 in SQLExecDirect in C:\Archivos de programa\Apache Group\Apache2\htdocs\PERSONAL\control\actualitzar\ personal.php on line 51
Error en odbc_exec


saludos y gracias de antemano
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 04/04/2007 a las 07:02
  #2 (permalink)  
Antiguo 04/04/2007, 08:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: SQLServer + PHP + Fechas

En SQL las fechas se delimitan con el #:

Código PHP:
$mifecha "2099-12-31 00:00:00.000";
$str"SELECT *  FROM tabla WHERE fecha < #$mifecha#"
  #3 (permalink)  
Antiguo 10/04/2007, 01:15
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: SQLServer + PHP + Fechas

Hola de nuevo, me sigue lanzando error cuando hago la consulta... este es mi codigo:
Código PHP:
<?
$dsn 
"";
$usuario "";
$contrase&#241;a = "";
$dbconect odbc_connect($dsn$usuario$contrase&#241;a);
if ($dbconect == 0) {

    echo(
"Ha fallado la conexión a la base de datos.");
    
$sqlerror odbc_errormsg($dbconect);
    echo(
$sqlerror);
    
}else{  
        
$fechabaja "2050-12-31 00:00:00.000";
        echo 
"Fecha Baja: ".$fechabaja."<br>";
        
$sql="SELECT CodEmpresa, CodMatricula, CodJerarquia, Nombre, Apellido1, Apellido2
              FROM Personal WHERE CodJerarquia <> 48 AND CodJerarquia <> 49 
              AND FechaBaja > #$fechabaja#
              ORDER BY CodMatricula "
;
        echo 
"Consulta: ".$sql."<br>";
        
$result=odbc_exec($dbconect,$sql);
        
odbc_result_all($result); 
    
}
?>
y lo q me lanza al cargar la pagina es lo siguiente:

Fecha Baja: 2050-12-31 00:00:00.000
Consulta: SELECT CodEmpresa, CodMatricula, CodJerarquia, Nombre, Apellido1, Apellido2 FROM Personal WHERE CodJerarquia <> 48 AND CodJerarquia <> 49 AND FechaBaja > #2050-12-31 00:00:00.000# ORDER BY CodMatricula

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Línea 3: sintaxis incorrecta cerca de '00'., SQL state 37000 in SQLExecDirect in C:\Archivos de programa\Apache Group\Apache2\htdocs\PERSONAL\index.php on line 21

Warning: odbc_result_all(): supplied argument is not a valid ODBC result resource in C:\Archivos de programa\Apache Group\Apache2\htdocs\PERSONAL\index.php on line 22


espero q puedan ayudarme...

muchas gracias de antemano!

EDITADO -> SOLUCIONADO
Código PHP:
$mifecha "2099-12-31 00:00:00.000"//incorrecto
$mifecha "20991231"//correcto
$str"SELECT *  FROM tabla WHERE fecha < '$mifecha'"
saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 10/04/2007 a las 03:26
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:48.