的问题是转换t和f向true和false,因为Postgres的存储true和false本身.
如何a_moderator在SESSION中使用变量?
我取变量的值a_moderator由
$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'];
}
Run Code Online (Sandbox Code Playgroud)
我使用它失败了
if ( $_SESSION['login']['a_moderator'] == 't' ) {
// do this
}
Run Code Online (Sandbox Code Playgroud)
我也没有成功地运行诸如true代替的价值t.在会话中变量的值为f使得
Run Code Online (Sandbox Code Playgroud)Array ( [login] => Array ( [passhash_md5] => dd2f85814c35fd465c30b1472f5d3af8 [email] => nthoaeuntht@Thnatuh.comn [logged_in] => 1 [user_id] => 13 [username] => oeauoeh [a_moderator] => t ) )
小智 12
从postgre中选择布尔字段为:: int,并在php中转换为bool.
"SELECT a_moderator::int
FROM users
WHERE email = $1;"
Run Code Online (Sandbox Code Playgroud)
$ isModerator =(bool)$ row ['a_moderator'];