<?php
session_start();
if (!isset($_SESSION)){
}
$total_amt=$_POST['total_amt'];
$total_seats=$_POST['total_seats'];
$boarding_point=$_POST['boarding_point'];
$_SESSION['total_amt']=$total_amt;
$_SESSION['total_seats']=$total_seats;
$_SESSION['boarding_point']=$boarding_point;
?>
<?php
require_once("config.php");
$source_point=$_SESSION['source_point'];
$destination=$_SESSION['destination'];
$datepick=$_SESSION['datepick'];
$_SESSION['total_amt']=$total_amt;
$_SESSION['total_seats']=$total_seats;
$boarding_point=$_POST['boarding_point'];
// Insert data into mysql
$sql="INSERT INTO book_seat(from, to, datepick, total_amt, total_seats, boarding_point) VALUES
'{$_SESSION['source_point']}',
'{$_SESSION['destination']}',
'{$_SESSION['datepick']}',
'{$_SESSION['total_amt']}',
'{$_SESSION['total_seats']}',
'{$_SESSION['boarding_point']}')";
$result=mysql_query($sql);
if(isset($_POST['chksbmt']) && !$errors)
{
header("location:booking_detail.php");
}
if(!$sql) die(mysql_error());
mysql_close();
?>
我想将会话变量插入我的数据库..
这是我的代码,没有发生错误,页面重定向到booking_detail.php,但这些会话变量也没有插入到我的数据库中..
答案 0 :(得分:1)
From
和to
是保留字,请使用反引号
$sql="INSERT INTO book_seat(`from`, `to`, datepick, total_amt, total_seats, boarding_point) VALUES
'{$_SESSION['source_point']}',
'{$_SESSION['destination']}',
'{$_SESSION['datepick']}',
'{$_SESSION['total_amt']}',
'{$_SESSION['total_seats']}',
'{$_SESSION['boarding_point']}')";
答案 1 :(得分:0)
评论您的header()
,使用error_reporting(-1)
打开错误报告,检查mysql_error()
然后解决该问题。
从现在起我可以看到你在sql查询中遇到语法错误,因为你使用from
作为列名,这是受限制的单词。你必须把它放在`。
答案 2 :(得分:0)
1)如果是单独的脚本,则启动会话
2)在您的查询中删除@Mihai建议的保留关键字
3)在您的查询中它应该是VALUES(
而不是VALUES
4)正如您在评论leaving_from
中未提及未插入Db中所述。
因为在您的脚本中,您没有为$_SESSION['source_point']
分配会话值。
在您的脚本中将是: -
<?php
session_start();
if (!isset($_SESSION)){
}
$total_amt = $_POST['total_amt'];
$total_seats = $_POST['total_seats'];
$boarding_point = $_POST['boarding_point'];
$_SESSION['total_amt'] = $total_amt;
$_SESSION['total_seats'] = $total_seats;
$_SESSION['boarding_point'] = $boarding_point;
// Set here session value for $_SESSION['source_point'] as well,
答案 3 :(得分:0)
首先从所有会话变量中删除引号,例如:
{$_SESSION['source_point']}
其次,您在mysql_error
检查之前重定向,先检查结果和错误,然后重定向:
if (!$result) {
die(mysql_error());
}
if(isset($_POST['chksbmt']) && !$errors)
{
header("location:booking_detail.php");
}
答案 4 :(得分:0)
从顶部删除空格
<?php session_start();
如果这不起作用
在插入检查值之前 var_dump($_SESSION)
存在于会话中
并将die(mysql_error());
与查询一起使用
$result=mysql_query($sql) or die(mysql_error());;
答案 5 :(得分:0)
if(isset($_POST['chksbmt']) && !$errors)
{
header("location:booking_detail.php");
}
如果chksbmt
是提交按钮的名称,则在提交表单后将执行上述代码。
在插入之前,它在标题中提到的页面。
在大括号之上写下你所有的东西,使用
if(isset($_POST['chksbmt']) && !$errors)
{
//all your stuff, ex:storing in DB.
if($result){
header("location:booking_detail.php");
}
}
我希望我能理解你的问题,这将是锻炼。