ibase_prepare
ibase_restore
Firebird/InterBase Functions
PHP Manual

# ibase_query

Execute a query on an InterBase database

### Description

resource ibase_query ([ resource `$link_identifier` ], string `$query` [, int `$bind_args` ] )

Performs a query on an InterBase database.

### Parameters

`link_identifier`

  An InterBase link identifier. If omitted, the last opened link is assumed.

`query`

  An InterBase query.

`bind_args`

### Return Values

If the query raises an error, returns `FALSE`. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns `TRUE`.

> Note:

> In PHP 5.0.0 and up, this function will return the number of rows affected by the query for INSERT, UPDATE and DELETE statements. In order to retain backward compatibility, it will return `TRUE` for these statements if the query succeeded without affecting any rows.

### Errors/Exceptions

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query you must set the character set (i.e. ISO8859_1 or your current character set).

### Changelog

Version | Description
--- | ---
5.3.1 | On success the function now returns `TRUE` if there were no affected rows, where it previously returned 0 (a zero followed by an empty space).

### Examples

Example #1 ibase_query example

`<?php
$host = 'localhost:/path/to/your.gdb';
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());
?>`

### See Also

- ibase_errmsg
- ibase_fetch_row
- ibase_fetch_object
- ibase_free_result