Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   mysql_affected_rows() para firebird (https://www.clubdelphi.com/foros/showthread.php?t=33483)

jgutti 07-07-2006 20:45:21

mysql_affected_rows() para firebird
 
Hola al foro, trabajo con php y firebird, que instruccion para firebird es similar a mysql_affected_rows() de mysql

Atte

jgutti

dec 08-07-2006 02:23:28

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. ;)


La franja horaria es GMT +2. Ahora son las 15:51:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi