2012-10-09 19 views
3

根據doco PHP5 + PostgreSQL(Ubuntu 12.04)返回pg_fetch_row()的數組。通過我的測試結果表明它返回一個字符串,有沒有一些配置選項?PHP5 + PostgreSQL - pg_fetch_row()返回字符串不是數組

$db = openDatabase(<blah>); 
$query = "SELECT (id,serial,tag) FROM devices ORDER BY tag ASC"; 
$result = pg_query($db,$query); 
if ($result) 
{ 
    while ($row = pg_fetch_row($result)) 
     echo "IN: $row[0] - $row[1] - $row[2]"; 
} 

我希望看到

IN: <value> - <value> - <value> 

,但我得到

IN: (<value>,<value>,<value>) - - 

我想這意味着pg_fetch_row()返回一個字符串,而不是一個數組?

例如實際運行:

IN: (10,7426573,________) - - 
IN: (7,6862,FMUX-TAG) - - 
IN: (9,6914082,L6) - - 

這似乎是一個簡單的問題,但我找不到答案。 我知道我可以解析結果,但這是kludgey。

回答

1

SELECT (id,serial,tag)更改爲SELECT id,serial,tag,就完成了。

+0

就是這樣。謝謝。所以這是PostgreSQL(以及我的語法),而不是PHP。 – Kingsley

0

答案很簡單 - 只需要從SELECT語句中刪除括號,就像這樣:

$query = "SELECT id,serial,tag FROM devices ORDER BY tag ASC"; 

否則就是在輸出字符串。

相關問題