説明
resource
fbsql_query ( string query [, resource link_identifier [, int batch_size]] )
fbsql_query() は、指定したリンク ID に
関連付けられたサーバ上の現在アクティブなデータベースに対して
クエリを送信します。
link_identifier が指定されていない場合は、
直近にオープンされたリンクを使用します。オープンしているリンクが
存在しない場合は、引数なしで fbsql_connect()
がコールされた場合と同じ方法でリンクを確立し、それを使用します。
注意:
クエリ文字列は、常にセミコロンで終わる必要があります。
fbsql_query() は、クエリが成功したかどうかを
示すために TRUE (非ゼロ) あるいは FALSE を返します。
返り値が TRUE の場合、クエリは正しい形式であってサーバで実行された
ことを示します。変更された行数や返された行数については何も示しません。
クエリが成功しても 1 行も変更しなかったり 1 行も返さなかったりすることは
十分にありえることです。
以下のクエリは文法的に間違っています。そのため
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_query() は失敗し、FALSE を返します。
クエリが成功したと仮定すると、
fbsql_num_rows() を使用して SELECT 文から
返された行数を取得したり
fbsql_affected_rows() を使用して
DELETE、INSERT、REPLACE あるいは UPDATE 文で変更された行数を
取得したりすることが可能です。
SELECT 文の場合は fbsql_query() は新しい結果 ID
を返し、これを fbsql_result() に渡すことができます。
結果セットを得た後には fbsql_free_result() を
使用して関連するリソースを開放することが可能です。しかし、スクリプトが
終了した際に自動的にメモリは開放されます。
fbsql_affected_rows()、
fbsql_db_query()、
fbsql_free_result()、
fbsql_result()、
fbsql_select_db() および
fbsql_connect() も参照ください。