PHP从PostgreSQL Query获取结果字符串

时间:2009-12-03 20:13:12

标签: php sql postgresql

我是PHP和SQL的新手,但我需要一种方法将SQL查询的结果存储到变量中。

查询是这样的:

$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) {
    //...
}

但对我来说这似乎是一种不好的做法 无论哪种方式,最好知道如何将其存储为变量以供将来参考。

2 个答案:

答案 0 :(得分:6)

您可以将结果传递给pg_fetch_assoc()然后存储该值,或者您是否希望在没有额外步骤的情况下获取该值?

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

这就是你要找的东西吗?

答案 1 :(得分:1)

使用pg_fetch_result

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

但另一方面,检查你是否有任何结果总是好主意,所以我会保持pg_num_rows检查。