2012-02-28 59 views
0

为什么我不能将我的会话插入到我的数据库中?我确信我已经在其他地方多次使用过相同的代码,并且它一直在为我工作。为什么Isnt会话被插入到数据库中?

<?php 
$id = $_GET['election']; 
$vote = mysql_real_escape_string($_REQUEST['vote']); 
$vote = mysql_real_escape_string($_REQUEST['vote']); 

$sql= "INSERT INTO votes (election_id, ni) VALUES ('$id', '". $_SESSION['ni']."')"; 

if (!mysql_query($sql)) 
    { 
     die('Error: ' . mysql_error()); 
    } 
    else 
    { 

     echo '<hr><h4>Your Vote Has Now Been Casted </h4><hr><h5> <a href = "votenow.php">My Account</a></h5>'; 

    } 
?> 

有什么想法?现场妮出来使用

session_start(); 

在文件的开头,以便会话变量将被设置并初始化数字0

+0

如果MySQL错误1064是您收到的错误,也许你应该考虑这样做...... – animuson 2012-02-28 23:35:54

+0

我不是recieving没有错误 – 2012-02-28 23:40:02

回答

1

尝试。

+0

IV已经得到了我的文档顶部 – 2012-02-28 23:38:14

+0

你有没有在定义$ _SESSION ['ni']的文件中启动会话?此外,你是否清理cookie之间或调用session_destroy()? – Odinn 2012-02-28 23:40:08

+0

是的,我做过了,当用户想要注销时,我会调用session_destroy – 2012-02-28 23:41:20

1

我不认为这有什么关系作为一个数据库中的特定问题,如果代码运行之前,如果你插入:

var_dump($_SESSION['ni']); 
exit; 

是否$_SESSION['ni']包含0以外的东西吗?在尝试访问$ _SESSION对象之前,你还需要调用session_start()吗?

http://php.net/manual/en/function.session-start.php

+0

它给了我下面的消息:字符串(8)“HP45896S” – 2012-02-28 23:39:21

+0

,如果你在定义你的$ sql变量后做了'var_dump($ sql)',你就看不到'HP45896S'生成的SQL? – 2012-02-28 23:48:43

+0

它说空? – 2012-02-28 23:52:25

相关问题