PHP PDO mySQL query returns column name instead of value -


i'm setting web application has multiple user roles determine view specific user gets when visiting specific sections (or whether sections available them). have table ("users") includes columns "username" , "role". have second table ("roles") has columns "role" column each section, each having multiple possible values drive user experience each role. column i'm concerned here call "useradminview", have same issue other columns.

i have no problem obtaining given user's role when login. when attempt useradmin view associated role, query returns column name rather expected value.

i've found several posts on stackoverflow , other sites same symptom, queries setup differently have. appreciated!

//function role user - returns expected value function getuserrole($username) {     include($_server["document_root"] . "/sharedinc/db.php");     try {         $sql = "select role users username = :username";         $s = $pdousers->prepare($sql);         $s->bindvalue(":username", $username);         $s->execute();     } catch (pdoexception $e) {         $error = "error obtaining user role";         include($_server["document_root"] . "/sharedinc/dboutput.php");         exit();     }     $role = $s->fetch();     return $role[0]; }  //function check page view role - returns column name function getpageview($role, $page) {     include($_server["document_root"] . "/sharedinc/db.php");     try {         $sql = "select :page roles role = :role";         $s = $pdousers->prepare($sql);         $s->bindvalue(":role", $role);         $s->bindvalue(":page", $page);         $s->execute();     } catch (pdoexception $e) {         $error = "error obtaining pageview role";         include($_server["document_root"] . "/sharedinc/dboutput.php");         exit();     }     $pageview = $s->fetch();     return $pageview[0]; }  //end-goal query needs able store values session variables $_session["username"] = $_post["username"]; $_session["role"] = getuserrole($_session["username"]); $_session["useradminview"] = getpageview($_session["role"], "useradminview"); 

you cant put row-name via bind. change to:

   try {         $sql = "select $page roles role = :role";         $s = $pdousers->prepare($sql);         $s->bindvalue(":role", $role);         $s->execute();     } catch (pdoexception $e) { 

Comments

Popular posts from this blog

c# - Binding a comma separated list to a List<int> in asp.net web api -

Delphi 7 and decode UTF-8 base64 -

html - Is there any way to exclude a single element from the style? (Bootstrap) -