pg_send_query_params
コマンドとパラメータを分割してサーバーに送信し、その結果を待たない
説明
intbool pg_send_query_params(PgSql\Connection $connection
, string $query
, array $params
)
これは pg_send_query とほぼ同じですが、パラメータが
query
とは別に分かれている点が違います。
関数のパラメータは、pg_query_params によって
完全に制御されます。pg_query_params と同様、
7.4 より前の PostgreSQL では動作しません。またクエリ文字列には
ひとつのコマンドのみを含めることができます。
パラメータ
-
connection
-
PgSql\Connection クラスのインスタンス。
-
query
-
パラメータ化した SQL 文。ひとつの文のみである必要があります
(複数の文をセミコロンで区切る形式は使用できません)。パラメータを
使用する際は $1、$2 などの形式で参照されます。
-
params
-
プリペアドステートメント中の $1、$2 などのプレースホルダを
置き換えるパラメータの配列。配列の要素数はプレースホルダの
数と一致する必要があります。
戻り値
成功した場合に true
、失敗した場合に 0
を返します。
クエリの結果を確かめるには pg_get_result を使用します。
例
例1 pg_send_query_params の使用法
<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
// パラメータを使用する。パラメータにはクォートやエスケープが
// 必要ないことに注意
pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));
// 基本的な pg_send_query の使用法との比較
$str = pg_escape_string('Perth');
pg_send_query($dbconn, "select count(*) from authors where city = '{$str}'");
?>