Comunidad de diseño web y desarrollo en internet online

No entra en bucle while para sacar resultado de una consulta

Citar            
MensajeEscrito el 23 Ene 2011 12:48 pm
Buenas,
tengo el un problema con este codigo,y es que no hay manera de que entre en el bucle while para sacar datos de una tabla de access.Lo raro es que en el primer bucle,en el que se saca credito,lo hace perfectamente...

Código :

<?php 
//Conecta con la base de datos
$conn_access = odbc_connect ("casino", "", "");
//Obtiene el credito del jugador
if ($conn_access = odbc_connect ( "casino", "", "")){
    $ssql = "select * from jugador";
    if($rs_access = odbc_exec ($conn_access, $ssql)){
       while ($fila = odbc_fetch_object($rs_access))
      {
         $returnInfo['credito']=$fila->credito;
         break;
       }
    }
//Obtiene el codigo nuevo de a_partida,y si no existe,lo crea e inserta
$ssql= "SELECT TOP 1 a_partida from partida_21 order by a_partida DESC";
$rs_access = odbc_exec ($conn_access, $ssql);
if(odbc_fetch_object($rs_access)==false)
{
   $a_partida=1;
   $insert="INSERT INTO partida_21(a_partida) VALUES(".$a_partida.");";
   $rs_access = odbc_exec ($conn_access, $insert);
}else{
   while ($fila = odbc_fetch_object($rs_access))
   {
          //Aqui no entra
      $a_partida=$fila->a_partida;
      //$a_partida=$a_partida+1;
      break;
    }   
}
}

?> 

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 24 Ene 2011 11:57 am
¿Estás seguro que la lógica está bien?.
La consulta SQL indica que se devlverá un solo registro ("TOP 1"), cuando haces:

Código PHP :

if(odbc_fetch_object($rs_access)==false)

Ya has consumido ese único registro, y devuelve verdadero, entonces cuando llegas al while, odbc_fetch_object devuelve false porque no hay más registros para consumir.
Me parece que deberías cambir el if por:

Código PHP :

if(odbc_num_rows($rs_access) == 0)

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.