Php MySQL插入/更新问题
所以现在我正在为我的C#应用程序开发一个基本的会话系统。我有一个带有id、用户名、密码的表和一个带有id、代码、开始的会话表 两个表的id列都与登录的用户相关(用户表的id与会话表相同)。我想做的是,当它设置会话时,它首先检查会话是否已经处于活动状态,如果已经处于活动状态,它将只更新当前会话,如果没有,它将插入一个新会话。这个很好用。我的问题是,无论我作为哪个用户登录,id总是设置为0,这样我一次最多可以激活一个会话 以下是我目前正在做的事情:Php MySQL插入/更新问题,php,mysql,row,Php,Mysql,Row,所以现在我正在为我的C#应用程序开发一个基本的会话系统。我有一个带有id、用户名、密码的表和一个带有id、代码、开始的会话表 两个表的id列都与登录的用户相关(用户表的id与会话表相同)。我想做的是,当它设置会话时,它首先检查会话是否已经处于活动状态,如果已经处于活动状态,它将只更新当前会话,如果没有,它将插入一个新会话。这个很好用。我的问题是,无论我作为哪个用户登录,id总是设置为0,这样我一次最多可以激活一个会话 以下是我目前正在做的事情: //get id of inputted user
//get id of inputted user.
$id = getUserId($username);
//first check if a session already exists that is connected to this username
$query = mysql_query("SELECT * FROM sessions WHERE(`id`='$id')") or die("Couldn't query database: <br> <br> " . mysql_error());;
if(mysql_num_rows($query) > 0) {
//session already exists, update it.
mysql_query("UPDATE sessions SET `code`='$code', `start`='$date' WHERE(`id`='$id')") or die("Failed to update session: <br> <br> " . mysql_error());
} else {
//session doesn't exist so lets create one
mysql_query("INSERT INTO sessions (`id`,`code`,`start`) VALUES('$id','$code', '$date')") or die("Failed to create session: <br> <br> " . mysql_error());
}
我的问题是,如果你还没明白的话。为什么即使getUserId()函数返回正确的用户id,“id”也总是被设置为0
有什么建议吗?我刚刚发现了错误 我有一行调用setSession函数
//set session
setSession($username. $password);
它应该只解析用户名,但我忘了取出$password。因此,当它查找用户名“user1”时,例如,它实际上会查找“user1password”,因此会返回0,因为没有包含这些详细信息的记录。Suggestion。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,是的,我知道我不应该。但是出于这个目的,我并不担心在这一点上进行切换。如果您切换函数以返回一个assoc_数组并使用$row['id'],会发生什么?或者只选择id,而不是*。。?
//set session
setSession($username. $password);