|
|
XLIV. InterBase functionsIntroductie
InterBase is a popular database put out by Borland/Inprise. More
information about InterBase is available at . Oh, by the way, InterBase
just joined the open source movement!
Opmerking:
Full support for InterBase 6 was added in PHP 4.0.
This database uses a single quote (') character for escaping, a
behavior similar to the Sybase database, add to your
php.ini the following directive:
Installatie
To enable InterBase support configure PHP
--with-interbase[=DIR], where DIR is the
InterBase base install directory, which defaults to
/usr/interbase.
Note to Win32 Users:
In order to enable this module on a Windows environment, you must copy
gds32.dll from the DLL folder of the PHP/Win32 binary
package to the SYSTEM32 folder of your windows machine. (Ex: C:\WINNT\SYSTEM32
or C:\WINDOWS\SYSTEM32). In case you installed the InterBase database server on the
same machine PHP is running on, you will have this DLL already. Therfore you don't
need to copy gds32.dll from the DLL folder.
Configuratie tijdens scriptuitvoer
Het gedrag van deze functies wordt be�nvloed vanuit php.ini.
Tabel 1. InterBase configuration options Name | Default | Changeable |
---|
ibase.allow_persistent | "1" | PHP_INI_SYSTEM | ibase.max_persistent | "-1" | PHP_INI_SYSTEM | ibase.max_links | "-1" | PHP_INI_SYSTEM | ibase.default_user | NULL | PHP_INI_ALL | ibase.default_password | NULL | PHP_INI_ALL | ibase.timestampformat | "%m/%d/%Y%H:%M:%S" | PHP_INI_ALL | ibase.dateformat | "%m/%d/%Y" | PHP_INI_ALL | ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
For further details and definition of the PHP_INI_* constants see
ini_set().
Voorgedefineerde constanten
Deze constanten worden gedefineerd door deze extensie, en
zullen alleen beschikbaar zijn als de extensie met PHP is
meegecompileerd, of als deze dynamisch is geladen vanuit een script.
User Contributed Notes InterBase functions |
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>"; ?> <?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 |
| |