pg_convert

連想配列の値を、SQL 文として実行可能な形式に変換する

説明

arrayfalse pg_convert(
    PgSql\Connection $connection,
    string $table_name,
    array $values,
    int $flags = 0
)

pg_convert は、values の中の値をチェックし、SQL 文の中で使用可能な形式に変換します。 少なくとも values の要素数以上のカラムを持つ テーブル table_name が存在することが前提条件と なります。values の要素名が table_name のフィールド名と一致し、また 要素に対応する値はフィールドのデータ型と互換性がなければなりません。 成功した場合に変換後の値の配列、それ以外の場合に false を返します。

注意:

この関数は、boolean 値も受付けることができ、 PostgreSQL の boolean 型に変換します。 boolean 値の文字列表現にも対応しています。 null は、PostgreSQL の NULL に変換します。

警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

パラメータ

connection

PgSql\Connection クラスのインスタンス。

table_name

変換対象となるテーブルの名前。

values

変換されるデータ。

flags

PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL あるいは PGSQL_CONV_IGNORE_NOT_NULL の組み合わせ。

戻り値

変換された値の配列を返します。 失敗した場合に false を返します

エラー / 例外

フィールドの値や型が PostgreSQL の型と一致しない場合、 ValueError または TypeError がスローされます。

変更履歴

バージョン 説明
8.3.0 フィールドの値や型が PostgreSQL の型と一致しない場合、 ValueError または TypeError がスローされるようになりました。 これより前のバージョンでは、 E_WARNING が発生していました。
8.1.0 connection は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例1 pg_convert の例

<?php 
  $dbconn = pg_connect('dbname=foo');
  
  $tmp = array(
      'author' => 'Joe Thackery',
      'year' => 2005,
      'title' => 'My Life, by Joe Thackery'
  );
  
  $vals = pg_convert($dbconn, 'authors', $tmp);
?>

参考

  • pg_meta_data
  • pg_insert
  • pg_select
  • pg_update
  • pg_delete