【发布时间】:2009-08-21 22:31:54
【问题描述】:
本帖主要问题移至here关于PHP / Postgres中的布尔数据类型。
问题在于将t 和f 转换为true 和false,因为Postgres 存储true 和false。
如何在 SESSION 中使用变量a_moderator?
我通过
获取变量a_moderator的值
#1 获取变量的代码
$result = pg_prepare($dbconn, "moderator_check_query",
"SELECT a_moderator
FROM users
WHERE email = $1;"
);
$a_moderator = pg_execute($dbconn, "moderator_check_query", array($_SESSION['login']['email']));
$rows = pg_fetch_all ( $a_moderator );
foreach ( $rows as $row ) {
$_SESSION['login']['a_moderator'] = $row['a_moderator'];
}
我使用失败
#2 我如何使用变量失败的代码
if ( $_SESSION['login']['a_moderator'] == 't' ) {
// do this
}
我也未成功运行 true 等值代替 t。
SESSION 中的变量的值是f,这样
#3 输出告诉我变量的值
Array ( [login] => Array ( [passhash_md5] => dd2f85814c35fd465c30b1472f5d3af8 [email] => nthoaeuntht@Thnatuh.comn [logged_in] => 1 [user_id] => 13 [username] => oeauoeh [a_moderator] => t ) )
【问题讨论】:
-
您仍然无法使用 pg_fetch_array 正确获取数据。它需要 PGSQL_ASSOC 标志。
-
davethegr8:您建议我最好使用
pg_fetch_all,然后简单地使用foreach来读取数据。 -
davethegr8:我用
pg_fethch_array解决了这个问题。我仍然有同样的问题。
标签: php postgresql