PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<ifxus_write_slobibase_blob_add>
view the version of this page
Last updated: Sat, 19 Apr 2003

XLIV. InterBase-Funktionen

InterBase ist eine bekannte Datenbank, die von Borland/Inprise stammt. Weitere Informationen zu InterBase finden sie unter . Wichtig: InterBase befindet sich gerade auf dem Weg zum Open Source!

Anmerkung: Umfassende Unterst�tzung f�r InterBase 6 wurde in PHP 4.0 eingef�hrt.

Inhaltsverzeichnis
ibase_blob_add --  Add data into created blob
ibase_blob_cancel --  Cancel creating blob
ibase_blob_close --  Close blob
ibase_blob_create --  Create blob for adding data
ibase_blob_echo --  Output blob contents to browser
ibase_blob_get --  Get len bytes data from open blob
ibase_blob_import --  Create blob, copy file in it, and close it
ibase_blob_info --  Return blob length and other useful info
ibase_blob_open --  Open blob for retrieving data parts
ibase_close --  Schlie�t die Verbindung zu einer InterBase-Datenbank
ibase_commit -- Commit a transaction
ibase_connect --  �ffnet eine Verbindung zu einer InterBase-Datenbank
ibase_errmsg --  Returns error messages
ibase_execute -- Ausf�hren einer vorbereiteten Abfrage
ibase_fetch_object --  Liest einen Datensatz einer InterBase-Datenbank als Objekt ein
ibase_fetch_row --  Liest einen Datensatz aus einer InterBase-Datenbank
ibase_field_info --  Get information about a field
ibase_free_query --  Gibt den Speicher einer vorbereiteten Abfrage wieder frei
ibase_free_result --  Gibt den Speicher eines Abfrage-Ergebnisses frei
ibase_num_fields --  Ermittelt die Anzahl der Felder einer Ergebnis-Liste
ibase_pconnect --  Erzeugt eine permanente Verbindung zu einer InterBase-Datenbank
ibase_prepare --  Vorbereitung einer Abfrage f�r den folgenden Gebrauch von Parameter-Platzhaltern und f�r die eigentliche Ausf�hrung.
ibase_query --  F�hrt eine Abfrage (Query) auf eine InterBase-DB aus
ibase_rollback -- Rolls back a transaction
ibase_timefmt --  Bestimmt das Format von Zeitstempel-, Datums- und Zeit-Feldern, die von einer Abfrage zur�ck gegeben werden
ibase_trans -- Begin a transaction


User Contributed Notes
InterBase-Funktionen
add a note
johan at essay dot org
07-Aug-2000 02: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 !

theynich_s at yahoo dot com
11-May-2002 06: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 [email protected]
$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>

interbase at almico dot com
05-Sep-2002 09: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>

lars at dybdahl dot net
20-Sep-2002 02: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();

al2925DONTSPAMME at mail dot ru
05-Mar-2003 09:24

You should better use gds32.dll provided with that version of Firebird/Interbase you're going to connect to.
add a note

<ifxus_write_slobibase_blob_add>
 Last updated: Sat, 19 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Wed May 14 01:12:44 2003 CEST