将PHP当前session_id插入MySQL时的空白字段

时间:2014-04-08 19:29:26

标签: php mysql sql session sessionid

我正在尝试在用户注册时将session_id和其他值一起插入到数据库表中,但是session_id字段在数据库中总是空白,这很奇怪,因为我正在正确地启动会话使用session_start(),我甚至在session_id和我用来执行查询的字符串中使用了var_dump,以查看会话ID是否在那里,它是。另一个有趣的事情是,当我放置任何其他字符串而不是session_id()生成的结果时,它会在数据库中注册,除非我尝试使用的字符串是从session_id()上的var_dump()获取的结果,这很奇怪,因为如果我去另一个浏览器并生成不同的会话ID,将其复制并粘贴到那里,它也可以工作,如果我使用相同的SQL语句直接进入SQL命令提示符或phpMyAdmin使用session_id()我不能用PHP插入,它完美无缺。我不知道为什么,但它不允许我通过mysql_query插入当前会话的id。我的代码如下:

 $email = mysql_real_escape_string($_POST['signup_email']);
 $password = md5(mysql_real_escape_string($_POST['signup_password']));
 $origPassword = mysql_real_escape_string($_POST['signup_password']);
 $first_name = mysql_real_escape_string($_POST['first_name']);
 $last_name = mysql_real_escape_string($_POST['last_name']);
 $mobile_phone = mysql_real_escape_string($_POST['mobile_phone']);
 $sessionID = session_id();
 $fullName = mysql_real_escape_string($first_name." ".$last_name);
 var_dump($sessionID);

 //Inserting user info
 $q_user = "INSERT INTO
                minders (

                            name,
                            phone,
                            ssid,
                            insert_datetime,
                            status,
                            email,
                            password,
                            is_minder,
                            login_allowed
                        )
            VALUES
                        (

                            '{$fullName}',
                            '{$mobile_phone}',
                            '{$sessionID}',
                            now(),
                            'deactivated',
                            '{$email}',
                            '{$password}',
                            0,
                            1
                        )";

 var_dump($q_user);

 $r_user = mysql_query($q_user) or die(mysql_error());

我希望有人可以帮助我。非常感谢! 注意:我知道mysql_query已被弃用,但我无法更改它。

0 个答案:

没有答案