自从我上网以来,我的php脚本存在很大问题。有些请求被执行,其他请求没有......但是当我用Wamp测试它时,一切都很好。
让我举个例子:
$answer = $db -> query("SELECT ID FROM users WHERE ID='{$_SESSION['id']}';");
$data = $answer->fetch();
if ($data['ID']=="")
{
$req= $db->prepare('INSERT INTO users(ID, etat) VALUES(:ID, :state)');
$req->execute(array(
'ID'=>session_id(),
'state' => 'NORMAL',
));
}
else
{
$db->exec("UPDATE users SET state='NORMAL' WHERE ID='{$_SESSION['id']}';");
}
此处忽略条件,仅执行Insert To。当我重新加载页面时,再次执行insert to而不是else。
你知道吗?我认为这可能是php.ini配置的问题。但我唯一需要替换它的php.ini是Wamp one,我不知道如何改编它......
答案 0 :(得分:0)
$_SESSION['id']
是名为“id”的会话变量。 session_id()
返回会话ID。他们不一样。 SELECT ID FROM users WHERE ID='{$_SESSION['id']}';
未返回与SELECT ID FROM users WHERE ID='{session_id()}';
相同的值您需要插入$_SESSION['id']
或选择ID == session_id()
的记录。
答案 1 :(得分:0)
好的,我发现了那个问题。事实上,当我复制我的SQL数据库时,我忘记在Wamp上设置主键...我不确切知道为什么,但它现在正常工作......
我会在回复你之前调查其他问题!
非常感谢你们所有人的时间!