2016-10-07 1 views
0

PostgreSQLデータベースでphpGridを使用して文字列を整数配列に挿入しようとしています。表示するためにグリッド内にデータを表示するときに括弧を削除するために配列を文字列に変換しなければなりませんでしたが、フィールドを追加するときに文字列を配列に変換しようとすると、{1,2 、3,4}。 PostgreSQLが提供するstring_to_array関数を使用しています。postgresqlに挿入するために文字列をphpGridの配列に変換する

$dg = new C_DataGrid("SELECT array_to_string(field, ', ') as field_to_string FROM tblname"); 

をこれは期待通りに動作します(表示されているデータから、{}を削除します)が、私は挿入しようとすると、このクエリは次のようになります:

INSERT INTO tblname (field_to_string) VALUES ('1,2,3,4'); 

ここで私が使用していたコードですこれは私が挿入しようとしているものです(配列に変換)

$arrFields['field_to_string'] = "string_to_array('" . $arrFields['field_to_string'] . "', ',')"; 

$sqlCrud = $db->db->GetInsertSQL($rs, $arrFields, get_magic_quotes_gpc(), true); 

助けていただければ幸いです。

ありがとうございました。

答えて

4

sqlCrudをエコーし​​、DEBUGをtrueに設定してSQL Insert文を調べることはできますか?挿入時に変換中にエラーが発生する可能性があります。

あなたのPostgreSQLが次のようなものでなければなりません:あなたはここで文字列変換例を配列でのPostgreSQLをチェックアウトすることができ

INSERT INTO tblname(field_to_string) VALUES ('{1,2,3,4}'::varchar[]) 

http://www.postgresonline.com/journal/archives/228-PostgreSQL-Array-The-ANY-and-Contains-trick.html

関連する問題