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

如何在PHP中使用PostgreSQL函数输出,php,postgresql,function,Php,Postgresql,Function,我有一个postgresql(V8.4)函数,它返回一个自定义类型的集合。此函数输出的字符串示例如下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

我有一个postgresql(V8.4)函数,它返回一个自定义类型的集合。此函数输出的字符串示例如下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中使用这个逗号分隔的值字符串的最佳方法是什么

我已经看过这篇文章()并且可以使用上面提到的函数,但是我想问问是否有人有其他想法或建议

谢谢,
Bart将字符串解析为CSV数据并返回单个字段的数组

将字符串解析为CSV数据并返回单个字段的数组

是的,非常简单,只需更改调用函数的方式即可

而不是

SELECT my_srf(parm1);
执行以下任一操作:

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

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

是的,非常简单,只需更改调用函数的方式即可

而不是

SELECT my_srf(parm1);
执行以下任一操作:

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

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

Marc,谢谢您的快速回复。这似乎满足了我的需要。除非我遇到更好的选择,否则我会继续这个选择。再次感谢。马克,斯科特在下面提供了一个更好的答案。再次感谢你在这方面的帮助。马克,谢谢你的快速回复。这似乎满足了我的需要。除非我遇到更好的选择,否则我会继续这个选择。再次感谢。马克,斯科特在下面提供了一个更好的答案。再次感谢您在这方面的帮助。