PHP Manual
Prev |  | Next

# fbsql_query

(PHP 4 >= 4.0.6)

fbsql_query -- Send a FrontBase query

## Description

resource fbsql_query ( string query [, resource link_identifier])

fbsql_query() sends a query to the currently active database on the server that's associated with the specified link identifier. If `link_identifier` isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if fbsql_connect() was called with no arguments, and use it.

> Note: The query string shall always end with a semicolon.

fbsql_query() returns `TRUE` (non-zero) or `FALSE` to indicate whether or not the query succeeded. A return value of `TRUE` means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.

The following query is syntactically invalid, so fbsql_query() fails and returns `FALSE`:

Example 1. fbsql_query() example
    <?php
    $result = fbsql_query ("SELECT * WHERE 1=1")
        or die ("Invalid query");
    ?>

The following query is semantically invalid if `my_col` is not a column in the table `my_tbl`, so fbsql_query() fails and returns `FALSE`:

Example 2. fbsql_query() example
    <?php
    $result = fbsql_query ("SELECT my_col FROM my_tbl")
        or die ("Invalid query");
    ?>

fbsql_query() will also fail and return `FALSE` if you don't have permission to access the table(s) referenced by the query.

Assuming the query succeeds, you can call fbsql_num_rows() to find out how many rows were returned for a SELECT statement or fbsql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result(). When you are done with the result set, you can free the resources associated with it by calling fbsql_free_result(). Although, the memory will automatically be freed at the end of the script's execution.

See also: fbsql_affected_rows(), fbsql_db_query(), fbsql_free_result(), fbsql_result(), fbsql_select_db(), and fbsql_connect().

Prev | Home | Next
fbsql_pconnect | Up | fbsql_read_blob