我正在尝试使用带有PostgreSQL数据库的phpGrid将字符串插入到整数数组中。我必须将数组转换为字符串以在网格中显示数据时删除括号以供查看,但是当我尝试在添加字段时将字符串转换回数组时,它不会转换为格式{1,2 ,3,4}。我正在使用PostgreSQL提供的string_to_array函数。这是我正在使用的代码:
$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);
任何帮助将不胜感激。
感谢。
答案 0 :(得分:4)
您可以通过将其DEBUG设置为true来回显sqlCrud并找出SQL Insert语句吗?转换期间,Insert语句可能有错误。
你的PostgreSql应该类似于以下内容:
INSERT INTO tblname(field_to_string) VALUES ('{1,2,3,4}'::varchar[])
您可以在此处查看带有数组到字符串转换示例的PostGreSql:http://www.postgresonline.com/journal/archives/228-PostgreSQL-Array-The-ANY-and-Contains-trick.html