Foros del Web » Programando para Internet » PHP »

Mysqli

Estas en el tema de Mysqli en el foro de PHP en Foros del Web. hola tengo un problema y no se que medida tomar para arreglarlo, vean yo uso MysqlI en ves de mysql (para procedimientos almacenados) y por ...
  #1 (permalink)  
Antiguo 24/05/2009, 19:35
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
Mysqli

hola tengo un problema y no se que medida tomar para arreglarlo,
vean
yo uso MysqlI en ves de mysql (para procedimientos almacenados)

y por ejemplo cuando yo hago mas de una consulta la Segunda no sirve

ejemplo
Código PHP:
mysqli_select_db($li_program$li_database_program);
$query_fechas sprintf("CALL get_R_I_fechas( %s)  "GetSQLValueString($colname_fechas"int"));
$fechas mysqli_query($li_program $query_fechas )  or  mysqli_error($li_program); 
$row_fechas mysqli_fetch_assoc($fechas);
$totalRows_fechas mysqli_num_rows($fechas);

mysqli_select_db($li_program$li_database_program);
$query_Recordset1 "CALL get_all();";
$Recordset1 mysqli_query($li_program $query_Recordset1 )  or  mysqli_error($li_program); 
$row_Recordset1 mysqli_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysqli_num_rows($Recordset1); 
en este caso la segunda no sirve... si los pongo alreves es lo mismo la que seria la segunda no serveria.
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #2 (permalink)  
Antiguo 24/05/2009, 20:06
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 16 años
Puntos: 7
Respuesta: Mysqli

hola encontre esto
Cita:
Beware when using stored procedures:
If you connect to the database and then call dbproc A followed by a call to db proc B and then close the connection to the db, the second procedure call will not work.

It looks like there is a bug in MYSQL or mysqli that returns an extra recordset than you would expect. It then doesn't let you call another stored procedure until you finish processing all the recordsets from the first stored procedure call.

The solution is to simply loop through the additional recordsets between calls to db procs. Here is a function that I call between db proc calls:
y me dan este php code
Código PHP:
<?php
#--------------------------------
function ClearRecordsets($p_Result){
#--------------------------------
    
$p_Result->free();    
    while(
$this->Mysqli->next_result()){
      if(
$l_result $this->Mysqli->store_result()){
              
$l_result->free();
      }
    }
}

?>
entonces como puedo usarlo? pero no a modo de objetos
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #3 (permalink)  
Antiguo 24/05/2009, 23:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Mysqli

Trata de llamar una sola vez la base de datos a ver si te resuelve el problema o sea elimina el segundo mysqli_select_db($li_program, $li_database_program); solamente esa linea

Me dejas saber
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 12:07.