我在数据库表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());
?>