PHP在MYSQL查询中使用会话

PHP在MYSQL查询中使用会话,php,mysql,Php,Mysql,我可以回显会话名称,以便知道它是否工作,但在MySQL查询中它不工作。我甚至试着把它变成一个变量,但它仍然不起作用: 文件列表: index.php response.php $repname = $_SESSION['name']; $sql = "SELECT * FROM `employee` WHERE rep='".$repname."' "; 也 有什么问题吗 更新** 这是正确的问题 $sql = "SELECT * FROM `employee` WHERE r

我可以回显会话名称,以便知道它是否工作,但在MySQL查询中它不工作。我甚至试着把它变成一个变量,但它仍然不起作用:

文件列表: index.php response.php

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

有什么问题吗

更新**

这是正确的问题

        $sql = "SELECT * FROM `employee` WHERE rep='".$_SESSION['name']."' ";
我知道这是正确的查询,因为现在我要显示记录,但只有rep为空的记录。这意味着出于某种原因,我无法获取会话名称

我试着加上:

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

但是我仍然只获取rep为空的记录

请确保在会话顶部添加session_start(),以启动会话启动

    <?php
    session_start(); ?>

还要确保添加此项以检索您的姓名字段:

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

 ?>

没有错误吗?我想你的意思是
$repname=$\u SESSION['name']
不是
$\u SESSION['name']=$repname
我没有看到任何错误:(如果是字符串,那么你应该正确地引用它,你知道它不安全,你应该准备语句,而不是在$repname或$\u SESSION['name'中有值或没有值的标题。)?…没有看到任何错误…您的意思是,除了明显的SQL注入漏洞。例如,
$\u SESSION['name']
中的值恰好包含引号时会发生什么情况,例如“
O'Reilly
”。当然,我们只看到将变量设置为字符串的代码。我们没有看到任何试图执行该SQL语句的代码。
<?php 
     session_start();
     if(isset($_GET['name']){
     $_SESSION['name']=$_GET['name'];

 ?>