上线时的问题(php代码)

时间:2011-01-08 23:17:18

标签: php pdo wamp

自从我上网以来,我的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,我不知道如何改编它......

2 个答案:

答案 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上设置主键...我不确切知道为什么,但它现在正常工作......

我会在回复你之前调查其他问题!

非常感谢你们所有人的时间!