Foros del Web » Programando para Internet » PHP »

Problema con consulta a SQL desde php

Estas en el tema de Problema con consulta a SQL desde php en el foro de PHP en Foros del Web. COmo estan. Genere un reporte con PHp y MSQ Server esta es la consulta que hago $Consulta = mssql_query("select * from Eventos where Fecevento Between ...
  #1 (permalink)  
Antiguo 14/02/2008, 14:17
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Problema con consulta a SQL desde php

COmo estan.

Genere un reporte con PHp y MSQ Server

esta es la consulta que hago

$Consulta = mssql_query("select * from Eventos where Fecevento Between '$FecInicio' and '$FecFinal' order by Fecevento desc, Codevento desc")

y no me arroja nada. Coji e imprimi la consulta que me genera la corri directamente en sql server y si me trae resultados.

No hay error en el codigo PHp porque dejo solo
$Consulta = mssql_query("select * from Eventos") y me muestra el reporte perfectamente.

Que puede estar pasando es como si el php me bloquiara la condicion de la fecha o algo asi


Ayuda Gracias
  #2 (permalink)  
Antiguo 14/02/2008, 14:29
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 17 años, 4 meses
Puntos: 4
Re: Problema con consulta a SQL desde php

Yo creria que deben ser el formato de las fecha, no ningun bloqueo
  #3 (permalink)  
Antiguo 14/02/2008, 14:33
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Problema con consulta a SQL desde php

Hola helacer; intentaste de correr tal cual lo que le llega al php? lo logras haciendo un:
Código PHP:
echo "select * from Eventos where Fecevento Between '$FecInicio' and '$FecFinal' order by Fecevento desc, Codevento desc"
y copiando lo que ves en pantalla. Te pregunto esto, porque seguramente los valores de $FecInicio y $FecFinal no sean los que esperas.


Suerte y contanos como te fue.

PD: Un consejo aparte, trata en lo posible de usar las variables en minúsculas con nombres enteros, separadas de mayúsculas o _, no es que sea una regla que debas adoptar, pero esta bueno porque es como un estandar (ej: $fechaInicio, $fecha_inicio, $fechaDeInicio, etc).
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 14/02/2008, 14:41
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Re: Problema con consulta a SQL desde php

si ya imprimi la consulta que me genera y directamente en SQL corre perfectamente y me trae los registros.

Se me olvido comentar que en localhost me funciona pero el servidor no depronto es el php.ini aunque no creo porque tiene las extensiondes de SQL activadas porque las otras consultas si me las hace bien.

La fecha en la base de datos esta tipo datetime.

suerte y ojala me puedan ayudar con esto!
  #5 (permalink)  
Antiguo 14/02/2008, 15:07
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Problema con consulta a SQL desde php

No creo que podamos con la info que nos das.

Pegá el resultado que te da en pantalla el php y contanos con que programa estás corriendo ese resultado (supongo que con el query analyzer, pero vos dirás); también contanos en que nivel de errores tenes el php.ini y si le estás poniendo un or die al mssql_query que ejecta esa consulta.

Por último pega el código (el while, for, foreach....) que itera sobre ese puntero.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 14/02/2008, 15:18
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Problema con consulta a SQL desde php

Cita:
Iniciado por helacer Ver Mensaje
COmo estan.

Genere un reporte con PHp y MSQ Server

esta es la consulta que hago

$Consulta = mssql_query("select * from Eventos where Fecevento Between '$FecInicio' and '$FecFinal' order by Fecevento desc, Codevento desc")

y no me arroja nada. Coji e imprimi la consulta que me genera la corri directamente en sql server y si me trae resultados.

No hay error en el codigo PHp porque dejo solo
$Consulta = mssql_query("select * from Eventos") y me muestra el reporte perfectamente.

Que puede estar pasando es como si el php me bloquiara la condicion de la fecha o algo asi


Ayuda Gracias

Intenta darle esta sentencia:

if(!$Consulta ){
$message = '<b>Invalid query:</b><br>' . mysql_error() . '<br><br>';
die($message);
}

y asi te imprime que problema te da Mysql
  #7 (permalink)  
Antiguo 14/02/2008, 15:41
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Re: Problema con consulta a SQL desde php

Es con SQL server y al colocar ese if que me dice no me muestra ningun error ni nada.

Que otra cosa puedo hacer
Este es el codigo php

Código PHP:
<?
    
// Cargo los eventos registrados en la base de datos.
    
$CrgEventos mssql_query("select * from Eventos where Fecevento Between '$FecInicio 00:00:00' and '$FecFinal 23:59:59' order by Fecevento desc, Codevento desc");
    
$EvtRegistrados mssql_num_rows($CrgEventos);
    if (
$EvtRegistrados == 0)
        echo 
"<br /><center><b> No se registraron Eventos en las fechas seleccionadas </b><br /><i> Favor intentelo de nuevo. </i></center>";
    else
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> Reporte - Eventos Registrados </title>
<link href="EventosCSS.css" rel="stylesheet" type="text/css" /> 
</head>
<body>
  <table class="TablaReporte" align="center">
    <tr>
      <td colspan="14" class="Titulos" width="70%"> Registro De Eventos </td>
      <td colspan="4" align="center"><img src="../images/accion.jpg" alt="Accion" width="163" height="93" /></td>
    </tr>
      <tr class="Mensajes">
         <td>COD.</td>
        <td>FEC. REGISTRO </td>
        <td>AREA</td>
        <td>RIESGO</td>
        <td>LIN. OPERATIVA</td>
        <td>FECHA INICIO</td>
        <td>FECHA FINAL</td>
        <td>FECHA IDENTIFICACIÓN</td>
        <td>TIP. PERDIDA</td>
        <td>FEC.CONTAB</td>
        <td>MONTO PERDIDA</td>
        <td>CUANTIA RECUPERADA</td>
        <td>C.R. POR CONCEPTO SEGUROS</td>
        <td>DIVISA</td>
        <td>PERDIDA ESTIMADA</td>
        <td>CLASE RIESGO</td>
        <td>PRODUCTO AFECTA</td>
        <td>COMENTARIO</td>
    </tr>
    <?
    
// Recorro los registros encontrados en la consulta
    
while ($DatEvento mssql_fetch_array($CrgEventos))
    {
        echo 
"<tr class=CamposFormulario>";
        echo 
"<td class=Mensajes>".$DatEvento['Codevento']."</td>";
        echo 
"<td>".$FecEvento=strftime('%d de %B %Y %H:%m',strtotime($DatEvento['Fecevento']))."</td>";
// Aca continua mostrando los otros campos

Aclaro que cuando pongo
Código PHP:
$CrgEventos mssql_query("select * from Eventos"); 
Funciona perfectamente el reporte aunque logicamente me queda sin filtrar la consulta.
  #8 (permalink)  
Antiguo 14/02/2008, 15:52
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Problema con consulta a SQL desde php

Si ese que te di era para mysql para ese cuele imprime en pantalla mssql_get_last_message();

te da el ultimo mensaje de que sql manda aver si te muestra algun error
  #9 (permalink)  
Antiguo 14/02/2008, 16:48
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Re: Problema con consulta a SQL desde php

Lsito muchachos un man de mi trabajo me dio la solucion la coloco por si a alguien le puede servir.

Era colocar eso antes del select

set dateformat ymd

asi

Código PHP:
$CrgEventos mssql_query("set dateformat ymd; select * from Eventos where Fecevento Between '$FecInicio 00:00:00' and '$FecFinal 23:59:59' order by Fecevento desc, Codevento desc"); 

Suerte y gracias por sus ayudas
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 14:07.