2009-12-03 115 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检查。