# fbsql_query

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

fbsql_query — Send a FrontBase query

### Description

fbsql_query ( string `$query` [, resource `$link_identifier` [, int `$batch_size` ]] ) : resource

Sends a `query` to the currently active database on the server.

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

### Parameters

`query`

  The SQL query to be executed.

  > Note:

  > The query string shall always end with a semicolon.

`link_identifier`

  A FrontBase link identifier returned by fbsql_connect() or fbsql_pconnect().

  If optional and not specified, the function will try to find an open link to the FrontBase server and if no such link is found it will try to create one as if fbsql_connect() was called with no arguments.

`batch_size`

### Return Values

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.

For SELECT statements, fbsql_query() returns a new result identifier that you can pass to fbsql_result().

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

### Examples

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");
?>`

### See Also

- fbsql_affected_rows() - Get number of affected rows in previous FrontBase operation
- fbsql_db_query() - Send a FrontBase query
- fbsql_free_result() - Free result memory
- fbsql_result() - Get result data
- fbsql_select_db() - Select a FrontBase database
- fbsql_connect() - Open a connection to a FrontBase Server