2017-04-11 31 views
1

我可以回显会话名称,所以我知道它的工作原理,但它在MySQL查询中不起作用。我甚至试图把它变成一个变量,它仍然没有工作:在MYSQL查询中使用会话的PHP

文件列表: 的index.php response.php

$repname = $_SESSION['name']; 
$sql = "SELECT * FROM `employee` WHERE rep='".$repname."' "; 

$sql = "SELECT * FROM `employee` WHERE rep=".$_SESSION['name']." "; 

任何想法上有什么不对?

更新**

这里是正确的查询

 $sql = "SELECT * FROM `employee` WHERE rep='".$_SESSION['name']."' "; 

我知道它的正确的查询,因为现在我得到的记录显示,但其唯一的记录,其中代表为空白。这意味着我没有得到会话名称出于某种原因。

我尝试添加:

 session_start(); 
if(isset($_GET['name'])){ 
$_SESSION['name']=$_GET['name']; 
    } 

但是我仍然只得到记录,其中代表为空白

+0

没有错误?我认为你的意思是'$ repname = $ _SESSION ['name']'not'$ _SESSION ['name'] = $ repname' – Swellar

+0

我没有看到任何错误:( – JD6969

+1

如果它是一个字符串,那么你应该正确的引用它,你知道它不安全,你应该准备声明,而不是 – Ghost

回答

0

一定要在session_start()添加到您的会话的顶部发起会话开始

<?php 
    session_start(); ?> 

此外一定要添加此检索您的姓名字段:

<?php 
    session_start(); 
    if(isset($_GET['name']){ 
    $_SESSION['name']=$_GET['name']; 

?>