将登录用户的会话变量中的数据发布到数据库


posting data to database from session variables of logged in user

我在数据库表pets中得到0,其中pet_id应该更新为已登录用户id

有什么想法吗?我觉得这很简单,但我不确定。

<?php require 'database.php';
session_start();
$id = $_SESSION['user_id'];
$_SESSION['user_id']= $id;  
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
$_SESSION['session_name'] = $user_name;
$_SESSION['balance']= $balance;  
$value = 1050;
$user_id = mysql_insert_id($link);

$sql_insert1 = "INSERT into `pets`
            (`pet_id`,`value`)
            VALUES
            ('.$id','$value')";

mysql_query($sql_insert1,$link) or die("Failed" . mysql_error());
?>

您有不必要的周期,请尝试:

$sql_insert1 = "INSERT into `pets`
                (`pet_id`, `value`)
                VALUES
                ('$id', '$value')";

首先,session_start();必须始终是脚本中<?php。

其次,你的concat是完全错误的。

这是一个稍微更正确的版本,需要一些测试:

<?php 
session_start();
require 'database.php';
$id = $_SESSION['user_id'];
$_SESSION['user_id']= $id;  
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
$_SESSION['session_name'] = $user_name;
$_SESSION['balance']= $balance;  
$value = 1050;
$user_id = mysql_insert_id($link);

$sql_insert1 = "INSERT into `pets`
        (`pet_id`,`value`)
        VALUES
        ('".$id."','".$value."')";

mysql_query($sql_insert1,$link) or die("Failed" . mysql_error());
?>

$id来自哪里?我想不是来自"database.php"。

你是想从会话中恢复$id吗?然后你应该写:

$id = $_SESSION['user_id']; 

然后,如果您有一个合理的$值,那么您的查询应该可以工作:

$sql_insert1 = "INSERT into `pets`
                (`pet_id`, `value`)
                VALUES
                ('$id', '$value')";
<?php 
session_start();
require 'database.php';
$id = $_SESSION['user_id'];
//echo $id;
//exit;
//print the value and check what you are getting here 
//i think you will get 0 here
//$_SESSION['user_id']= $id;  
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
$_SESSION['session_name'] = $user_name;
$_SESSION['balance']= $balance;  
$value = 1050;
$user_id = mysql_insert_id($link);

$sql_insert1 = "INSERT into `pets`
            (`pet_id`,`value`)
            VALUES
            ('.$id','$value')";

mysql_query($sql_insert1,$link) or die("Failed" . mysql_error());
?>