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;"
Funções para Firebird/InterBase
Índice
- ibase_add_user — Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
- ibase_affected_rows — Retorna o número de linhas que foram afetados pela consulta anterior
- ibase_backup — Initiates a backup task in the service manager and returns immediately
- ibase_blob_add — Adiciona dados em um blob recém criado
- ibase_blob_cancel — Cancela a criação de um blob
- ibase_blob_close — Fecha o blob
- ibase_blob_create — Cria um novo blob para adicionar dados
- ibase_blob_echo — Envia o conteúdo do blob para o browser
- ibase_blob_get — Retorna uma quantidade especificada de bytes de dados de um blob aberto
- ibase_blob_import — Cria um blob, copia um arquivo para ele e o fecha
- ibase_blob_info — Retorna o tamanho do blob e outras informações úteis
- ibase_blob_open — Abre um blob para obter partes de dados
- ibase_close — Fecha uma conexão com um banco de dados InterBase
- ibase_commit_ret — Grava uma transação sem fechá-la
- ibase_commit — Grava uma transação
- ibase_connect — Abre uma conexão com um banco de dados InterBase
- ibase_db_info — Request statistics about a database
- ibase_delete_user — Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)
- ibase_drop_db — Exclui um banco de dados
- ibase_errcode — Retorna um código de erro
- ibase_errmsg — Retorna uma mensagem de erro
- ibase_execute — Executa uma consulta preparada anteriormente
- ibase_fetch_assoc — Obtém o resultado de uma linha da consulta como uma matriz associativa
- ibase_fetch_object — Obtém uma linha como um objeto de um banco de dados InterBase
- ibase_fetch_row — Obtém uma linha de um banco de dados InterBase
- ibase_field_info — Obtém informação sobre um campo
- ibase_free_event_handler — Cancela um manipulador de eventos registrado
- ibase_free_query — Libera a memória alocada para uma consulta preparada
- ibase_free_result — Libera um conjunto de resultados
- 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 — Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
- ibase_name_result — Define um nome para um conjunto de resultados
- ibase_num_fields — Obtém o número de campos em um conjunto de resultados
- ibase_num_params — Retorna o número de parâmetros em uma consulta preparada
- ibase_param_info — Retorna informação sobre um parâmetro em uma consulta preparada
- ibase_pconnect — Abre uma conexão persistente com um banco de dados InterBase
- ibase_prepare — Prepara uma query para execução posterior
- ibase_query — Executa uma consulta em um banco de dados InterBase
- ibase_restore — Initiates a restore task in the service manager and returns immediately
- ibase_rollback_ret — Desfaz uma transação sem fechá-la
- ibase_rollback — Desfaz uma transação
- 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 — Registra uma função de callback para ser chamada quando eventos são postados
- ibase_timefmt — Define o formato do timestamp, colunas do tipo data e hora retornadas de consultas
- ibase_trans — Inicia uma transação
- ibase_wait_event — Espera por um evento ser postado no banco de dados
Funções para Firebird/InterBase
sysop at smartnettechnologies dot com
25-Sep-2007 05:01
25-Sep-2007 05:01
fortega at uamericas dot net
01-Jul-2007 07:11
01-Jul-2007 07: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
03-Jul-2003 04:33
03-Jul-2003 04: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 12:32
20-Sep-2002 12: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 07:24
05-Sep-2002 07: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 04:16
11-May-2002 04: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>";
?>
<?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 12:24
07-Aug-2000 12: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 !
