Ver Mensaje Individual
  #2  
Antiguo 08-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Supongo que no usas PHP5, puesto que ya existe en PHP5 la función ibase_affected_row. En PHP4... por más que he tratado de buscar en Google dándole vueltas al asunto, incluso pensando en otra manera de conseguir el mismo resultado sin utilizar la función de marras... chico, que me ha sido imposible conseguir nada.

Sin embargo... echando un vistazo a la clase DB Pear, más concretamente a la clase que se encarga de trabajar con FireBird e Interbase, me encuentro con esto justo en el método que lleva a cabo la consulta SQL a la base de datos:

Código PHP:
    function simpleQuery($query)
    {
        
$ismanip DB::isManip($query);
        
$this->last_query $query;
        
$query $this->modifyQuery($query);
        
$result = @ibase_query($this->connection$query);

        if (!
$result) {
            return 
$this->ibaseRaiseError();
        }
        if (
$this->autocommit && $ismanip) {
            @
ibase_commit($this->connection);
        }
        if (
$ismanip) {
            
$this->affected $result;
            return 
DB_OK;
        } else {
            
$this->affected 0;
            return 
$result;
        }
    } 
O sea, que parece ser que las "filas afectadas" se toman, directamente, del resultado de la función "ibase_query". Por otro lado, este es el método "affectedRow" conque cuenta dicha clase, a ver si te da alguna idea:

Código PHP:
    function affectedRows()
    {
        if (
is_integer($this->affected)) {
            return 
$this->affected;
        }
        return 
$this->ibaseRaiseError(DB_ERROR_NOT_CAPABLE);
    } 
Yo no he podido probarlo, porque no dispongo de FireBird ni de la experiencia suficiente como para montar un escenario de pruebas rápidamente, como podría hacerlo con MySQL. Pruébalo tú si eso y nos cuentas cómo te fue.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita