FrontBase クエリを送信する

# fbsql_query

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

fbsql_query — FrontBase クエリを送信する

### 説明

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

クエリ `query` を、 サーバー上の現在アクティブなデータベースに送信します。

クエリが成功したと仮定すると、 fbsql_num_rows() を使用して SELECT 文から 返された行数を取得したり fbsql_affected_rows() を使用して DELETE、INSERT、REPLACE あるいは UPDATE 文で変更された行数を 取得したりすることが可能です。

### パラメータ

`query`

  実行する SQL クエリ。

  > 注意:

  > クエリ文字列の最後はセミコロンで終わらなければなりません。

`link_identifier`

  fbsql_connect() あるいは fbsql_pconnect() が返す FrontBase リンク ID。

  指定しなかった場合は、この関数は FrontBase サーバーでオープンしているリンクを探します。見つからないときは fbsql_connect() に引数を指定せずにコールしたときと同様にして作成します。

`batch_size`

### 返り値

fbsql_query() は、クエリが成功したかどうかを 示すために `TRUE` (非ゼロ) あるいは `FALSE` を返します。 返り値が `TRUE` の場合、クエリは正しい形式であってサーバーで実行された ことを示します。変更された行数や返された行数については何も示しません。 クエリが成功しても 1 行も変更しなかったり 1 行も返さなかったりすることは 十分にありえることです。

SELECT 文の場合は fbsql_query() は新しい結果 ID を返し、これを fbsql_result() に渡すことができます。

クエリが参照しているテーブルへのアクセス権がない場合にも fbsql_query() は失敗し、`FALSE` を返します。

### 例

以下のクエリは文法的に間違っています。そのため fbsql_query() は失敗して `FALSE` を返します。

例1 fbsql_query() の例

`<?php
$result = fbsql_query("SELECT * WHERE 1=1")
or die ("不正なクエリ");
?>`

テーブル my_tbl に my_col というカラムが存在しない場合、以下のクエリは意味的に間違ったものと なります。そのため fbsql_query() は失敗して `FALSE` を返します。

例2 fbsql_query() の例

`<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl;")
or die ("不正なクエリ");
?>`

### 参考

- fbsql_affected_rows() - 直近の FrontBase 操作により変更されたレコードの数を得る
- fbsql_db_query() - FrontBase クエリを送信する
- fbsql_free_result() - 結果メモリを開放する
- fbsql_result() - 結果データを得る
- fbsql_select_db() - FrontBase データベースを選択する
- fbsql_connect() - FrontBase サーバーへの接続をオープンする