我正在尝试在用户注册时将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已被弃用,但我无法更改它。