无法使用会话变量从表中获取数据

时间:2019-05-20 15:30:10

标签: php mysql

因此,我只想从具有用户名的表中获取数据,该用户名与登录的用户名相同。这样的东西,但是不起作用。

$result_events = "SELECT * FROM task WHERE $_SESSION['username'] = $username;";

错误:

  

解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),   期待'-'或标识符(T_STRING)或变量(T_VARIABLE)或   号码(T_NUM_STRING)   /storage/ssd1/202/9375202/public_html/calendario.php,第9行

1 个答案:

答案 0 :(得分:1)

您需要更改此行

$result_events = "SELECT * FROM task WHERE $_SESSION['username'] = $username;";

收件人

   $tempUserName=$_SESSION['username'];
   $result_events = "SELECT * FROM task WHERE username = '$tempUserName'";

我想在您的代码中首先强调两点,因为您没有正确地使用where子句,因为根据您的代码,$ _ SESSION ['username']必须是列名

第二件事是,通常我们将用户名以字符串(即varchar格式)存储在DBMS中,因此,当我们在where子句中使用用户名时,我们需要确保它是我们要比较的字符串。缺少用户名周围的单引号