如果我手动将 $ add 声明为值(例如30),当我尝试将其设置为查询失败的user_id会话时,我的查询运行正常。
// $add = 30;
// The line above works
$add = mysql_real_escape_string($_SESSION['user_id']);
$query = "UPDATE mytable SET act=0, add=$add WHERE id=$selected_user";
我出错的任何想法。
答案 0 :(得分:1)
使用会话时,您需要在任何$_SESSION
使用之前指定此内容,如下所示:
session_start();
//now you are able to use this
$_SESSION['user_id'] = 30;
另一方面,我遇到了和以前一样的问题,你需要做的是
将$_SESSION['user_id']
放入变量中,然后您就可以毫无问题地将其传递给mysql_real_escape_string
。
$id = $_SESSION['user_id'];
//now use this:
$add = mysql_real_escape_string($id);
希望这有帮助。
答案 1 :(得分:1)
问:我出错了什么想法?
答:是的。会议是空的。
SUGGESTIONS:
做一个“echo”来验证$ _SESSION ['user_id']是否为空(我99%肯定会是)
确保您实际上正在设置会话(例如“session_start()”)
确保您的<html>
代码
调试设置$ _SESSION ['user_id']的代码
这是一个很好的链接:
答案 2 :(得分:0)
我几乎可以保证您忘记了脚本顶部的session_start();
。如果没有尝试回显会话变量,如果没有返回任何内容,则表示您没有设置任何内容。