Php 使用会话变量更新数据库表-如何?

Php 使用会话变量更新数据库表-如何?,php,session,mysqli,Php,Session,Mysqli,我正试图为我的工作场所整合一个基本的协调应用程序,我已经为每个员工建立了独特的登录。该应用程序的一部分是有一个显示(使用Ajax保持最新),显示谁可以或不可以进行下一次案例加载。简而言之;我可以使用固定值轻松地更新数据库,但我希望更新脚本是动态的,因为它将更新正确的用户状态 这是update.php脚本的片段 <?php require_once("data/connect.php"); $user_name = $_SESSION['user_name'];

我正试图为我的工作场所整合一个基本的协调应用程序,我已经为每个员工建立了独特的登录。该应用程序的一部分是有一个显示(使用Ajax保持最新),显示谁可以或不可以进行下一次案例加载。简而言之;我可以使用固定值轻松地更新数据库,但我希望更新脚本是动态的,因为它将更新正确的用户状态

这是update.php脚本的片段

<?php
    require_once("data/connect.php");
    $user_name = $_SESSION['user_name'];     
    mysqli_query($con,"UPDATE users SET status = 'AVAILABLE' WHERE user_name='$user_name'");    
    mysqli_close( $con );
    exit;
?>
更多信息; 如果我以其他方式使用$\u SESSION veriables,它可以正常工作。Ie

<?php
require_once("data/connect.php");

echo $_SESSION['user_name']; 
?>

这可以很好地填充各种用户名或设置为从会话回显的任何内容,但当我尝试将其用作写入数据库/表的变量时,它就会崩溃。即使在将“session_start()”放在开始位置之后

进一步更新


我试着在主页上运行脚本,加载时它使用session变量运行脚本!但在作为被调用文件运行时仍然不会。不确定我做错了什么。

在使用会话阵列之前需要启动会话

<?php 

require_once("data/connect.php");

//you missed this
@session_start();

$user_name = $_SESSION['user_name']; 

//validate the user name
if(!empty($user_name))
{
    mysqli_query($con,"UPDATE users SET status='AVAILABLE'
    WHERE user_name='$user_name'"); 

    mysqli_close($con);
}else{

      echo "user name is empty";

     //check your session is proper or not
      print_r($_SESSION);


}
exit;

在任何会话信息请求之前,您需要告诉PHP您想要使用会话功能:在
require
行之后,但在
$user\u name=$\u session['user\u name'之前行,输入
session_start()

问题似乎与我发布的php脚本的会话结转有关,该脚本由我的主页调用。我已将其合并到主页中,并在登录和注销时执行

在使用会话值之前是否已检查。。会话_start()应该在我上面编辑过的显示更改的地方。我已经添加了session_start()-并用其中建议的调试行重新运行了php脚本。回来了;NULL字符串(0)”,并且它没有执行更新。哇,谢谢大家,没想到会这么快得到帮助!不管怎样,我修复了session_start()的缺失-我得到了这个;空字符串(0)”,我修复了会话启动()的缺失,并得到了它;NULL NULL字符串(0)”“这很有趣,它返回的用户名是emptyArray(),但$\u会话['user\u name']的其他用法也会填充数据。我准确地复制了上面的代码,这就是返回的代码。有什么想法吗?
<?php
require_once("data/connect.php");

echo $_SESSION['user_name']; 
?>
<?php 

require_once("data/connect.php");

//you missed this
@session_start();

$user_name = $_SESSION['user_name']; 

//validate the user name
if(!empty($user_name))
{
    mysqli_query($con,"UPDATE users SET status='AVAILABLE'
    WHERE user_name='$user_name'"); 

    mysqli_close($con);
}else{

      echo "user name is empty";

     //check your session is proper or not
      print_r($_SESSION);


}
exit;