2011-07-16 29 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'] = ''取消特定会话变量