【问题标题】:Creating a cookie and setting the value创建 cookie 并设置值
【发布时间】:2017-06-22 13:11:57
【问题描述】:

我正在尝试创建一个cookie 并根据名为'User_ID' 的列设置值。然后我在浏览器中查看cookie,发现值为:

SELECT+Student_ID+FROM+%60tblaccounts%60+WHERE+Email%3D%27test%27

我希望显示 User_ID,即 2 而不是命令。我该怎么做呢?下面的代码是设置cookie的代码。

$sql2 = "SELECT Student_ID FROM `tblaccounts` WHERE Email='$username'"; 
$cookie_name2 = "userID";
$cookie_value2 = $sql2;
setcookie($cookie_name2, $cookie_value2);

【问题讨论】:

  • 您需要执行SQL查询吗?您实际上是在使用 SQL 查询创建一个字符串并存储该字符串。不确定您希望在这里发生什么?
  • 我最近重新开始使用 sql 并且不记得如何执行查询,您能帮我吗?
  • @MagnusEriksson 我将其更改为 $result2 = mysqli_query($connection, "SELECT Student_ID FROM tblaccounts WHERE Email='$username'");
  • “不记得如何执行查询” - 然后简单地进行谷歌搜索并尝试您将找到的数十万个示例之一。没有理由写另一个例子。
  • 好的,你已经改变了它。怎么了?它有效吗?如果您不知道如何从那里继续,请查看手册。

标签: php cookies setcookie


【解决方案1】:

您需要运行 mysql 查询并获取学生 ID 的值。

示例

$result =  mysqli_query($conn, "SELECT Student_ID FROM `tblaccounts` WHERE Email='$username'");
$row = mysqli_fetch_assoc($result);
$cookie_value2 = $row['Student_ID'];
$cookie_name2 = "userID";
setcookie($cookie_name2, $cookie_value2);

【讨论】:

  • 它没有选择正确的 User_ID,其中电子邮件的值与 $username 中的值相同。相反,它正在选择第一个 User_ID
  • 你能告诉我特定行的数据库图像和列名吗?
  • 它正在工作。我输入了错误的 User_ID 值。
【解决方案2】:
$sql2 = "SELECT Student_ID FROM `tblaccounts` WHERE Email='$username'"; 
$res=$adb->pquery($sql2);
$cookie_name2 = "userID";
$cookie_value2 = $res;
setcookie($cookie_name2, $cookie_value2);

您需要执行查询。$res=$adb->pquery($sql2);

【讨论】:

  • $adb 是从哪里来的?
  • 我用的是$adb对象,仅供参考,如果你用mysqli比写$con=mysqli_connect("host","username","password","database name"); mysqli_query($con,$sql2);请参考这个link
  • 在您的答案中添加该信息。仅仅添加一个魔法变量并告诉 OP 使用它并不是特别有用,因为 OP 可能不知道它是什么。答案需要明确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-05
  • 2011-12-20
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多