首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php将user_id添加到会话变量

php将user_id添加到会话变量
EN

Stack Overflow用户
提问于 2016-08-03 06:47:43
回答 3查看 69关注 0票数 0

当我注册一个用户时,我将他们添加到数据库中,他们得到一个由auto_increment自动生成的id。现在,我试图将这个id添加到一个会话变量中,这样我就可以在网站的其他页面上使用它,并在数据库中操作它们的行。这就是我到目前为止所拥有的。

当用户注册时,这一行将表单输入添加到db:

代码语言:javascript
复制
$insert = mysql_query("INSERT INTO users (`email`, `password`) VALUES ('example','values'))");

然后,我试图把user_id放到一个变量中,我可以在网站的其他页面上使用它。我在尝试这个:

代码语言:javascript
复制
if ($insert) {
  $select_id = mysql_query("SELECT `id` from `users` WHERE `email` = '$form_input'");
  $id_arr = mysql_fetch_array($select_id);
  $id_var = $id_arr['id'];
  session_start();
  $_SESSION["Register"] = $id_var[0];
}

但是它不起作用,所以我尝试使用var_export来查看$id_var中的内容,并得到一个'3‘值,这个值与应该存储在变量中的user_id不匹配。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-03 06:50:05

您需要迭代结果集以获得id的值。

代码语言:javascript
复制
$id="";
while ($row = mysql_fetch_array($select_id))   
{    
  $id= $row ['id'];
}
if($id!=""){
   session_start();
   $_SESSION["Register"] = $id;
}

注意: mysql_query在PHP5.5.0中被弃用,在PHP7.0.0中被删除。相反,MySQLi或PDO_MySQL扩展应该是该函数的used.Alternatives,包括:mysqli_query() or PDO::query()

此外,直接将值传递到查询中是不安全的。请阅读关于SQL injection的文章

票数 1
EN

Stack Overflow用户

发布于 2016-08-03 06:50:11

您可以使用mysql_insert_id()

代码语言:javascript
复制
mysql_query("INSERT INTO mytable (1, 2, 3, 'blah')");
$last_id = mysql_insert_id();

参见:id()

注释:PHP5.5.0中不推荐使用 mysql_query,PHP7.0.0中删除了它。相反,MySQLi或PDO_MySQL扩展应该是该函数的used.Alternatives,包括:查询()PDO::query()

票数 0
EN

Stack Overflow用户

发布于 2016-08-03 07:00:56

作为Jens的评论。我强烈建议使用mysqli或更好的PDO。因为mysqldepreciated,在PHP7中完全删除。

现在,按照您的代码,尝试如下

代码语言:javascript
复制
 if ($insert) {
      $select_id = mysql_query("SELECT `id` from `users` WHERE `email` = '$form_input'") or die(mysql_error());// to see error
if($select_id != null){
      $id_arr = mysql_fetch_array($select_id);
      $id_var = $id_arr['id'];
      session_start();
      $_SESSION["Register"] =   $id_var;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38736298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档