2009-12-03 110 views
2

我是PHP和SQL的新手,但我需要一種方法將SQL查詢的結果存儲到變量中。PHP從PostgreSQL查詢得到結果字符串查詢

查詢是這樣的:

$q = "SELECT type FROM users WHERE username='foo user'"; 
$result = pg_query($q); 

的查詢只會返回一個字符串;用戶的帳戶類型,我只需要將其存儲在變量中,以便我可以檢查用戶是否有權查看頁面。

我知道我很可能只是做到這一點查詢:

"SELECT * FROM users WHERE username='foo user' and type='admin'"; 
if(pg_num_rows($result) == 1) { 
    //... 
} 

但它似乎是一個不好的做法給我。
無論哪種方式,最好知道如何將它作爲變量存儲以供將來參考。

回答

6

您可以將結果傳遞給pg_fetch_assoc()然後存儲該值,或者是否希望在沒有額外步驟的情況下獲取該值?

$result = pg_query($q); 
$row = pg_fetch_assoc($result); 
$account_type = $row['type']; 

是你在找什麼?

+0

謝謝,那正是我所需要的。 – jonescb 2009-12-03 20:38:49

1

使用pg_fetch_result

$result = pg_query($q); 
$account_type = pg_fetch_result($result, 0, 0); 

但在另一方面,它總是好的主意來檢查,如果你有任何結果,所以我會保持pg_num_rows檢查。