CakeFest 2024: The Official CakePHP Conference

Функции Firebird/InterBase

Содержание

  • fbird_add_user — Псевдоним ibase_add_user
  • fbird_affected_rows — Псевдоним ibase_affected_rows
  • fbird_backup — Псевдоним ibase_backup
  • fbird_blob_add — Псевдоним ibase_blob_add
  • fbird_blob_cancel — Отменяет создание BLOB
  • fbird_blob_close — Псевдоним ibase_blob_close
  • fbird_blob_create — Псевдоним ibase_blob_create
  • fbird_blob_echo — Псевдоним ibase_blob_echo
  • fbird_blob_get — Псевдоним ibase_blob_get
  • fbird_blob_import — Псевдоним ibase_blob_import
  • fbird_blob_info — Псевдоним ibase_blob_info
  • fbird_blob_open — Псевдоним ibase_blob_open
  • fbird_close — Псевдоним ibase_close
  • fbird_commit_ret — Псевдоним ibase_commit_ret
  • fbird_commit — Псевдоним ibase_commit
  • fbird_connect — Псевдоним ibase_connect
  • fbird_db_info — Псевдоним ibase_db_info
  • fbird_delete_user — Псевдоним ibase_delete_user
  • fbird_drop_db — Псевдоним ibase_drop_db
  • fbird_errcode — Псевдоним ibase_errcode
  • fbird_errmsg — Псевдоним ibase_errmsg
  • fbird_execute — Псевдоним ibase_execute
  • fbird_fetch_assoc — Псевдоним ibase_fetch_assoc
  • fbird_fetch_object — Псевдоним ibase_fetch_object
  • fbird_fetch_row — Псевдоним ibase_fetch_row
  • fbird_field_info — Псевдоним ibase_field_info
  • fbird_free_event_handler — Псевдоним ibase_free_event_handler
  • fbird_free_query — Псевдоним ibase_free_query
  • fbird_free_result — Псевдоним ibase_free_result
  • fbird_gen_id — Псевдоним ibase_gen_id
  • fbird_maintain_db — Псевдоним ibase_maintain_db
  • fbird_modify_user — Псевдоним ibase_modify_user
  • fbird_name_result — Псевдоним ibase_name_result
  • fbird_num_fields — Псевдоним ibase_num_fields
  • fbird_num_params — Псевдоним ibase_num_params
  • fbird_param_info — Псевдоним ibase_param_info
  • fbird_pconnect — Псевдоним ibase_pconnect
  • fbird_prepare — Псевдоним ibase_prepare
  • fbird_query — Псевдоним ibase_query
  • fbird_restore — Псевдоним ibase_restore
  • fbird_rollback_ret — Псевдоним ibase_rollback_ret
  • fbird_rollback — Псевдоним ibase_rollback
  • fbird_server_info — Псевдоним ibase_server_info
  • fbird_service_attach — Псевдоним ibase_service_attach
  • fbird_service_detach — Псевдоним ibase_service_detach
  • fbird_set_event_handler — Псевдоним ibase_set_event_handler
  • fbird_trans — Псевдоним ibase_trans
  • fbird_wait_event — Псевдоним ibase_wait_event
  • ibase_add_user — Добавляет пользователя в безопасную базу данных
  • ibase_affected_rows — Возвращает количество строк, на которые повлиял предыдущий запрос
  • ibase_backup — Инициирует задание резервного копирования в диспетчере служб и немедленно возвращает
  • ibase_blob_add — Добавляет данные во вновь созданный BLOB-объект
  • ibase_blob_cancel — Отменяет создания BLOB-объекта
  • ibase_blob_close — Закрывает BLOB-объект
  • ibase_blob_create — Создаёт новый BLOB-объект для заполнения данными
  • ibase_blob_echo — Выводит содержимое BLOB-объекта в браузер
  • ibase_blob_get — Получает количество байтов от открытого BLOB-объекта
  • ibase_blob_import — Создаёт BLOB-объект, копирует в него файл и закрывает его
  • ibase_blob_info — Возвращает длину BLOB-объекта и другую полезную информацию
  • ibase_blob_open — Открывает BLOB-объект для извлечения частей данных
  • ibase_close — Закрывает соединение с базой данных InterBase
  • ibase_commit_ret — Фиксирует транзакцию, не закрывая её
  • ibase_commit — Фиксирует транзакцию
  • ibase_connect — Открывает соединение с базой данных
  • ibase_db_info — Запрашивает статистику базы данных
  • ibase_delete_user — Удаляет пользователя из безопасной базы данных
  • ibase_drop_db — Удаляет базу данных
  • ibase_errcode — Возвращает код ошибки
  • ibase_errmsg — Возвращает сообщение об ошибке
  • ibase_execute — Выполняет предварительно подготовленный запрос
  • ibase_fetch_assoc — Извлекает строку результата из запроса в виде ассоциативного массива
  • ibase_fetch_object — Получает объект из базы данных InterBase
  • ibase_fetch_row — Извлекает строку из базы данных InterBase
  • ibase_field_info — Получает информацию о поле
  • ibase_free_event_handler — Отменяет зарегистрированный обработчик события
  • ibase_free_query — Освобождает память, выделенную на подготовку запроса
  • ibase_free_result — Освобождает набор результатов
  • ibase_gen_id — Увеличивает указанный генератор и возвращает его новое значение
  • ibase_maintain_db — Выполняет команду обслуживания на сервере базы данных
  • ibase_modify_user — Изменяет пользователя в безопасной базе данных
  • ibase_name_result — Присваивает имя набору результатов
  • ibase_num_fields — Возвращает количество полей в результирующем наборе
  • ibase_num_params — Возвращает количество параметров в подготовленном запросе
  • ibase_param_info — Возвращает информацию о параметре в подготовленном запросе
  • ibase_pconnect — Открывает постоянное соединение с базой данных InterBase
  • ibase_prepare — Подготавливает запрос для последующего связывания псевдопеременных и выполнения
  • ibase_query — Выполняет запрос к базе данных InterBase
  • ibase_restore — Запускает задачу восстановления в диспетчере служб и немедленно возвращается
  • ibase_rollback_ret — Откатывает транзакцию, не закрывая её
  • ibase_rollback — Откатывает транзакцию
  • ibase_server_info — Запрашивает информацию о сервере базы данных
  • ibase_service_attach — Подключается к диспетчеру служб
  • ibase_service_detach — Отключается от диспетчера служб
  • ibase_set_event_handler — Регистрирует callback-функцию, которая будет вызываться при публикации событий
  • ibase_trans — Начинает транзакцию
  • ibase_wait_event — Ждём, пока событие будет опубликовано в базе данных
add a note

User Contributed Notes 6 notes

up
1
interbase at almico dot com
21 years ago
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>
up
1
lars at dybdahl dot net
21 years ago
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();
up
0
felixlee at singnet dot com dot sg
20 years ago
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);
?>
up
-1
sysop at smartnettechnologies dot com
16 years ago
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;"
up
-2
johan at essay dot org
23 years ago
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 !
up
-3
fortega at uamericas dot net
16 years ago
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'); ?>
To Top