2009-12-03 5 views
2

Я новичок в PHP и SQL, но мне нужен способ хранения результата SQL Query в переменной.PHP получить строку результата из PostgreSQL Query

Запрос выглядит так:

$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

1

Использование pg_fetch_result:

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

Но с другой стороны, это всегда хорошая идея, чтобы проверить, если у вас есть какие-либо результаты, так что я буду держать pg_num_rows чек.

Смежные вопросы