Well, in the documentation it says that if the query raises an error, returns *FALSE*. You should start calling ibase_errmsg to track where the error is. On Tue, Nov 5, 2013 at 7:34 PM, Ismael L. Donis Garcia < ismael@xxxxxxxxxxxxxx> wrote: > ----- Original Message ----- From: Tsvetan Nikolov >> To: Ismael L. Donis Garcia >> Cc: PHP-General >> Sent: Tuesday, November 05, 2013 12:45 PM >> Subject: Re: Error to insert in firebird >> >> >> Do you commit your transaction? >> >> Yes > > The complete function is: > > public function actualizar($sql,$param){ > if ($this->cn){ > > //for example: > > $sql = "insert into scele (codigo, nombre) values (?, ?)"; > $param = "1, Test1"; > > $tr = ibase_trans(IBASE_WRITE,$this->cn); > $qr = ibase_prepare($tr,$param); > $this->rs = ibase_execute($sql,$param); > if ($this->rs){ > > //Evaluate this condition, but he does not enter here > > ibase_commit($tr); > } else { > ibase_rollback($tr); > return array('tipo'=>false,'texto'=>'Error de ejecusión: ' > .ibase_errmsg()); > } > ibase_free_query($qr); > return array('tipo'=>true,'texto'=>''); > } else { > return array('tipo'=>false,'texto'=>'Error de conexión: ' > .ibase_errmsg()); > > } > } > > Best Regards > ======== > | ISMAEL | > ======== > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >