2013-08-13 4 views
0

Примечание: Я PHP-noob.Преобразование запросов в XML

У меня есть база данных 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,'') 

Что я делаю неправильно? И есть ли у кого-нибудь хорошие примеры для этой функции?

+0

Немного связаны: http://dba.stackexchange.com/questions/39365/transform-xpath-map-into-xml-document-using-relational-data –

ответ

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. Что вы используете?

+0

Возможно, я использую PostgreSQL 8.1.23 – ObAt