downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ibase_add_user> <filter_var
[edit] Last updated: Mon, 01 Nov 2010

view this page in

XLII. InterBase-Funktionen

InterBase ist eine bekannte Datenbank, die von Borland/Inprise stammt. Weitere Informationen zu InterBase finden sie unter » http://www.borland.com/interbase/. 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_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 — Add data into a newly created blob
ibase_blob_cancel — Cancel creating blob
ibase_blob_close — Close blob
ibase_blob_create — Create a new 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_ret — Commit a transaction without closing it
ibase_commit — Commit a transaction
ibase_connect — Öffnet eine Verbindung zu einer InterBase-Datenbank
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 — Return error messages
ibase_execute — Ausführen einer vorbereiteten Abfrage
ibase_fetch_assoc — Fetch a result row from a query as an associative array
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_event_handler — Cancels a registered event handler
ibase_free_query — Gibt den Speicher einer vorbereiteten Abfrage wieder frei
ibase_free_result — Gibt den Speicher eines Abfrage-Ergebnisses frei
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 — Ermittelt die Anzahl der Felder einer Ergebnis-Liste
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 — 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_restore — Initiates a restore task in the service manager and returns immediately
ibase_rollback_ret — Roll back a transaction without closing it
ibase_rollback — Roll back a transaction
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 — Bestimmt das Format von Zeitstempel-, Datums- und Zeit-Feldern, die von einer Abfrage zurück gegeben werden
ibase_trans — Begin a transaction
ibase_wait_event — Wait for an event to be posted by the database


ibase_add_user> <filter_var
[edit] Last updated: Mon, 01 Nov 2010
 
add a note add a note User Contributed Notes InterBase-Funktionen
sysop at smartnettechnologies dot com 25-Sep-2007 12:01
This example have 2 problems my be the autor writes it to fast but in the first case use one var for define user pass and and the use other one for call them and in secon step use comas after the ;

$db = '/path/to/database.gdb';
$user = 'username';
$password = 'password';
$res = ibase_connect($db,$dbuser,$dbpass) or die("<br>" . ibase_errmsg());

// Query
$sql="SELECT * FROM table;"
fortega at uamericas dot net 01-Jul-2007 02:11
Here is a minimalistic code example. Be sure to create an user and a database in order to make it work.

<?php
// Minimalistic code example

// Connection
$db = '/path/to/database.gdb';
$user = 'username';
$password = 'password';
$res = ibase_connect($db,$dbuser,$dbpass) or die("<br>" . ibase_errmsg());

// Query
$sql="SELECT * FROM table;"
$result=ibase_query($res,$sql) or die(ibase_errmsg());
while(
$row=ibase_fetch_object($result)){
   
// use $row->FIELDNAME not $row->fieldname
   
print $row->FIELDNAME;
}
ibase_free_result($result);

// Closing
ibase_close($res) or die("<br>" . ibase_errmsg());
?>

The following code can be used when creating tables in order to get auto incrementing fields:

<?php

// This function generates an autoincrement field, such as MySQL AUTO_INCREMENT.
function generate_autoincrement($tablename,$primarykey){
   
// * Generator
   
dbexec('CREATE GENERATOR GEN_' . $tablename . '_PK;');
   
// * Trigger
   
dbexec('CREATE TRIGGER INC_' . $primarykey . ' FOR ' . $tablename
       
. chr(13) . 'ACTIVE BEFORE INSERT POSITION 0'
       
. chr(13) . 'AS'
       
. chr(13) . 'BEGIN'
       
. chr(13) . 'IF (NEW.' . $primarykey . ' IS NULL) THEN'
       
. chr(13) . 'NEW.' . $primarykey . '= GEN_ID(GEN_' . $tablename . '_PK, 1);'
       
. chr(13) . 'END');
}
?>

Usage: <?php generate_autoincrement('table','column name'); ?>
felixlee at singnet dot com dot sg 02-Jul-2003 11: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 07: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 02: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 11: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 06-Aug-2000 07: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 !

 
show source | credits | sitemap | contact | advertising | mirror sites