查询XML转换

时间:2013-08-13 19:43:44

标签: php postgresql

注意:我是一个PHP-noob。

我的服务器上运行了PostgreSQL数据库。我刚创建了所有表格并插入了一些测试数据。

我想执行查询并在XML中创建结果,以便我的Android应用程序可以读取它。首先,我想手动创建xml,但我遇到this question,我读了Mapping Tables to XML。我只是没有找到这个函数的任何示例/教程。我试过这个:

$query = "SELECT * FROM query_to_xml('SELECT * from class_levels',true,false,'')";
$rs = pg_query($con, $query) or die("Cannot execute query: $query\n");

但我一直都有错误:

Warning: pg_query(): Query failed: ERROR: function query_to_xml("unknown", boolean, boolean, "unknown") does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. in /home/.../cms/index.php on line 18
Cannot execute query: SELECT * FROM query_to_xml('SELECT * from class_levels',true,false,'') 

我做错了什么?有没有人有这个功能的好例子?

1 个答案:

答案 0 :(得分:2)

postgres=# SELECT * FROM query_to_xml('SELECT 1 as foo',true,false,'') x;
                               x                               
───────────────────────────────────────────────────────────────
 <table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">↵
                                                              ↵
 <row>                                                        ↵
   <foo>1</foo>                                               ↵
 </row>                                                       ↵
                                                              ↵
 </table>                                                     ↵

(1 row)

您的查询看起来很好,所以可能您使用过旧的PostgreSQL版本而没有xml支持。你用什么pg?