2011-07-16 67 views
-4

您好,我將如何在MySQL語句中使用cookie。我正在使用這個變量進行MySQL查詢,我不知道如何在MySQL查詢中訪問cookie的值。我需要讓變量對sql注入攻擊是安全的。感謝任何幫助表示讚賞。使用cookie進行mysql查詢

+2

您似乎需要一本「PHP 101」書籍。如何使用最基本的語言語法和功能不是您應該問問StackOverflow專業人士的問題。 –

回答

1

是啊... $_COOKIE$_SESSION

谷歌PHP cookie

+0

$ _COOKIE [「cookiename」]我已經有了這個,但是cookie的值存儲在一個mysql數據庫中,這些需要匹配存儲在瀏覽器中的cookie,但是我怎麼把這個放在mysql查詢中呢? – spencer

+0

我相信你問了一個不同的問題。你應該讓每個cookie都是一個id。 – Pwnna

+0

對不起,我只是想知道如何通過將它放在一個變量中或者在mysql查詢中訪問這個變量來實現這一點。我不明白這個cookie已經是一個變量,但是它存儲在我的腳本中的是什麼? – spencer

3
$sql = "SELECT * FROM users WHERE username = '" . mysql_real_escape_string($_COOKIE['username']) . "'"; 
$result = mysql_query($sql); 
0

我認爲你應該使用Cookie的會話,而不是因爲它提供了比曲奇更安全。

試試這個:

//some codes conection, start session, query to database, fetch row to get the result then test 

    if($result){ //for example, $result = mysql_fetch_array($query) 
     //set session variable here 
     $_SESSION['sess_name1'] = $result['col_name']; 
     $_SESSION['sess_name2'] = $result['col_name']; 
     .............................................. 
    }else{ 
     echo "Error.".mysql_error(); 
    } 

您可以通過檢索每個頁面上的會話變量的值: 1.啓動會議並在該 頁2.呼叫的頂部值使用session_start();$welcome = $_SESSION['sess_name1']; 3.然後,您可以儘可能多地使用它。 4.要取消會話,請使用session_destroy();$_SESSION['sess_name1'] = ''取消特定會話變量