如何在PHP中使用PostgreSQL函数输出

时间:2010-09-09 20:35:29

标签: php postgresql function

我有一个postgresql(V 8.4)函数,它返回一个自定义类型的SETOF。此函数的字符串输出示例如下4行:

(2,"CD,100"," ","2010-09-08 14:07:59",New,0,,,,,,"2010-09-06 16:51:51","2010-09-07 16:51:57",)
(5,CD101,asdf,"2010-08-08 14:12:00",Suspended-Screen,1,10000,,,,,,,)
(4,DNR100,asdf,"2010-09-08 14:10:31",Suspended-Investgate,0,,,,,,"2010-09-06 16:51:51","2010-09-07 16:51:57",)
(3,MNSCU100," ","2010-09-08 14:09:07",Active,0,,,,,,,,)

我需要在PHP中处理这些数据,并且我正在尝试找出使用它的最佳方法。我想要的是,如果有一种方法让postgresql返回这个,就像一个表,其中列表示记录中的每个值而不是逗号分隔的字符串。

这可能吗?如果没有,在PHP中使用这个以逗号分隔的值字符串的最佳方法是什么?

我看到这篇文章(Convert PostgreSQL array to PHP array)并且可以使用那里提到的功能,但我想询问是否有人有其他想法或建议。

谢谢, 巴特

2 个答案:

答案 0 :(得分:2)

str_getcsv()将字符串解析为CSV数据并返回各个字段的数组

答案 1 :(得分:1)

是的,它真的很简单,只是改变你调用函数的方式。

而不是

SELECT my_srf(parm1);

要么:

SELECT * FROM my_srf(parm1);
SELECT (my_srf(parm1)).*;

你甚至可以通过这种方式获得列名。