# ibase_query

(PHP 5, PHP 7)

ibase_query — Execute a query on an InterBase database

### 说明

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

Performs a query on an InterBase database.

### 参数

`link_identifier`

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

`query`

  An InterBase query.

`bind_args`

### 返回值

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.

### 错误／异常

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).

### 更新日志

版本 | 说明
--- | ---
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).

### 范例

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());

    ?>

### 参见

- ibase_errmsg() - Return error messages
- ibase_fetch_row() - Fetch a row from an InterBase database
- ibase_fetch_object() - Get an object from a InterBase database
- ibase_free_result() - Free a result set