PHP  
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  
<ifxus_write_slobibase_add_user>
view the version of this page
Last updated: Sun, 02 May 2004

XLIV. Funzioni InterBase

InterBase è un famoso database prodotto da Borland/Inprise. Maggiori informazioni riguardo InterBase sono disponibili a http://www.interbase.com/. Oh, a proposito, InterBase è da poco entrato nel movimento open source!

Nota: Il supporto completo per InterBase 6 è stato aggiunto in PHP 4.0.

Questo database usa il carattere di singolo apice (') come carattere di escape, un comportamento simile al database Sybase, aggiungere al proprio file php.ini la seguente direttiva:

magic_quotes_sybase = On

Sommario
ibase_add_user --  Add a user to a security database (only for IB6 or later)
ibase_affected_rows --  Return the number of rows that were affected by the previous query
ibase_backup --  Initiates a backup task in the service manager and returns immediately
ibase_blob_add --  Aggiunge dati in un nuovo blob creato
ibase_blob_cancel --  Cancella la creazione di un blob
ibase_blob_close --  Chiude un blob
ibase_blob_create --  Crea un nuovo blob per aggiungerci dei dati
ibase_blob_echo --  Visualizza il contenuto di un blob sul browser
ibase_blob_get --  Ottiene len byte di dati dal blob aperto
ibase_blob_import --  Create un blob, copy il file al suo interno e lo chiude
ibase_blob_info --  Restituisce la lunghezza del blob e altre informazioni utlili
ibase_blob_open --  Apre un blob per ricavare parte di dati
ibase_close --  Chiude una connessione ad un database InterBase
ibase_commit_ret -- Commit a transaction without closing it
ibase_commit -- Esegue il commit di una transazione
ibase_connect --  Apre una connessione con un database InterBase
ibase_db_info --  Request statistics about a database
ibase_delete_user --  Delete a user from a security database (only for IB6 or later)
ibase_drop_db --  Drops a database
ibase_errcode --  Return an error code
ibase_errmsg --  Restituisce messaggi di errore
ibase_execute -- Esegue una query preparata in precedenza
ibase_fetch_assoc --  Fetch a result row from a query as an associative array
ibase_fetch_object -- Ottiene un oggetto da un database InterBase
ibase_fetch_row -- Elabora una riga da un database InterBase
ibase_field_info --  Ottiene informazioni su un campo
ibase_free_event_handler --  Cancels a registered event handler
ibase_free_query --  Libera la memoria allocata da una query preparata
ibase_free_result -- Libera la memoria allocata da un result set
ibase_gen_id --  Increments the named generator and returns its new value
ibase_maintain_db --  Execute a maintenance command on the database server
ibase_modify_user --  Modify a user to a security database (only for IB6 or later)
ibase_name_result --  Assigns a name to a result set
ibase_num_fields --  Ottiene il numero di campi in un result set
ibase_num_params --  Return the number of parameters in a prepared query
ibase_param_info --  Return information about a parameter in a prepared query
ibase_pconnect --  Crea una connessione persistente ad un database Interbase
ibase_prepare --  Prepara una query per un successivo binding dei segnaposto dei parametri ed esecuzione
ibase_query -- Esegue una query su di un database InterBase
ibase_restore --  Initiates a restore task in the service manager and returns immediately
ibase_rollback_ret -- Roll back a transaction without closing it
ibase_rollback -- Esegue il roll back di una transazione
ibase_server_info --  Request information about a database server
ibase_service_attach --  Connect to the service manager
ibase_service_detach --  Disconnect from the service manager
ibase_set_event_handler --  Register a callback function to be called when events are posted
ibase_timefmt --  Imposta il formato delle colonne timestamp, date e time restituite dalle query
ibase_trans -- Inizia una transazione
ibase_wait_event --  Wait for an event to be posted by the database


add a note add a note User Contributed Notes
Funzioni InterBase
felixlee at singnet dot com dot sg
03-Jul-2003 05:33
Here's an example for getting results back from stored procedure in firebird.
The example make use of the stored procedure in Employee.gdb and the show_langs procedure.
 

$host = 'localhost:X:/firebird/examples/Employee.gdb';
$username='SYSDBA';
$password='masterkey';

$dbh = ibase_connect ( $host, $username, $password ) or die ("error in db connect");
 $stmt="Select * from SHOW_LANGS('SRep',4,'Italy')";
 $query = ibase_prepare($stmt);
 $rs=ibase_execute($query);
$row = ibase_fetch_row($rs);

echo $row[0];

/* free result */
ibase_free_query($query);
ibase_free_result($rs);

/* close db */
ibase_close($dbh);
?>
lars at dybdahl dot net
20-Sep-2002 01:32
It is not possible to use interbase/firebird without initiating transactions. It seems that transactions are not automatically committed or rolled back at the end of a script, so remember to end all interbase enabled scripts with ibase_rollback() or ibase_commit().

Worse is, that if you use ibase_pconnect (recommended), transactions survive from one request to the next. So that if you don't rollback your transaction at the end of the script, another user's request might continue the transaction that the first request opened.

This has two implications:
1) Clicking refresh in your browser won't make you see newer data, because you still watch data from the same transaction.
2) Some php scripts might fail occassionally and not fail in other occasions, depending on with apache server thread and thereby which transaction they start using.

Unfortunately, there is no such thing as
if (ibase_intransaction()) ibase_rollback();

so be sure that ALL your scripts end with an ibase_rollback() or ibase_commit();
interbase at almico dot com
05-Sep-2002 08:24
If you are using VirtualHosts with Apache, you might find useful the following directive:

php_flag magic_quotes_sybase on

Use it in any VirtualHost and it will be set locally to that VirtualHost without interfering with any global setting.
This is an example:

<VirtualHost 555.666.777.888>
   ServerName www.samplehost.com
   DirectoryIndex index.php index.htm
   php_flag magic_quotes_sybase on
</VirtualHost>
theynich_s at yahoo dot com
11-May-2002 05:16
Hello PHP Mania,

i have made a paging for PHP with Interbase...... :)

i hope it usefull and work....:)

it`s a litle bit of example :

<?
$connection
= ibase_connect($yourdb, $user, $password);

$filename = BASENAME(__FILE__);
$strsql = "Your SQL";
$result = ibase_query($connection, $strsql);

function
ibase_num_rows($query) { //I have pick it from bg_idol@hotmail.com
 
$i = 0;
 while (
ibase_fetch_row($query)) {
  
$i++;
  }
return
$i;
}
$nrow = ibase_num_rows($result);//sum of row

$strSQL = "your SQL";
$result = ibase_query($connection, $strSQL);

if (!isset(
$page))
 
$page = 1;

$
$i = 0;
$recperpage = 4;
$norecord = ($page - 1) * $recperpage;
if (
$norecord){
 
$j=0;
  while(
$j < $norecord and list($code, $name)= ibase_fetch_row($result)){

 
$j++;
  }
}
echo
"<table>";
while (list(
$code, $name)= ibase_fetch_row($result) and $i < $recperpage){

 
?>
    <tr>
       <td width="5%"><? echo $code; ?></td>
       <td><? echo $name; ?></td>
   </tr>
<?
$i
++;
}

$incr = $page + 1;
if (
$page > 1) $decr = $page - 1;

$numOfPage = ceil($nrow/$recperpage);
?>
    <tr>
<td colspan="3" align="center"><?if ($page <= 1)
                   echo
"<span>Prev</span>";
                 else
                     echo
"<a href=".$filename."?page=".$decr.">Prev</a>";
              
?>
                &nbsp;&nbsp;
               <?if ($page == $numOfPage)
                   echo
"<span>Next</span>";
                 else
                     echo
"<a href=".$filename."?page=".$incr.">Next</a>";?>
</td>
</tr>
</table>
johan at essay dot org
07-Aug-2000 01:24
For those who have problem with returning values from Stored Procedures in PHP-Interbase,  I have found a solution.  Use a select sentence like this:
select * from sp_prodecure(param, ...)
However, it is important that the procedure has a SUSPEND statement or else the procedure won't return any values.

But the "message length" (see above note) bug that you encounter when you try to execute a procedure should be fixed !

<ifxus_write_slobibase_add_user>
 Last updated: Sun, 02 May 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2004 The PHP Group
All rights reserved.
This mirror generously provided by: Italia OnLine S.p.a.
Last updated: Fri May 21 04:11:23 2004 CEST