2012-02-28 57 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

相關問題