我是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) {
//...
}
但对我来说这似乎是一种不好的做法 无论哪种方式,最好知道如何将其存储为变量以供将来参考。
答案 0 :(得分:6)
您可以将结果传递给pg_fetch_assoc()然后存储该值,或者您是否希望在没有额外步骤的情况下获取该值?
$result = pg_query($q);
$row = pg_fetch_assoc($result);
$account_type = $row['type'];
这就是你要找的东西吗?
答案 1 :(得分:1)
$result = pg_query($q);
$account_type = pg_fetch_result($result, 0, 0);
但另一方面,检查你是否有任何结果总是好主意,所以我会保持pg_num_rows
检查。