我需要将 session 递增值插入数据库,在这里我可以递增诸如 0001,0002 等值,但问题是我无法将这些递增值插入数据库表中。
谁能帮我解决这个问题吗?
这是我的代码:
<?php
$username="root";
$password="sha12345";
$hostname="localhost";
$dbhandle = mysql_connect($hostname,$username,$password) or die("Could not connect to database");
$select = mysql_select_db("sha", $dbhandle);
session_start();
if(!isset($_SESSION['rid']))$_SESSION['rid']=0;
if(!empty($_POST['register']))
{
$_SESSION['rid'] = $_SESSION['rid']+ 1;
$input = $_SESSION['rid'];
str_pad($_SESSION['rid'], 4, "0", STR_PAD_LEFT);
$calender=$_POST['datum1'];
$time=$_POST['timepicker_6'];
mysql_query("INSERT INTO receipt(Bill_number,Date,Time) VALUES ('{$_SESSION['rid']}','$calender','$time')");
require("fpdf/fpdf.php");
$pdf=new FPDF();
$pdf->Addpage();
$pdf->SetFont("Arial","B",18);
$pdf->Cell(0,10,"Receipt number:". str_pad($_SESSION['rid'], 4, "0", STR_PAD_LEFT),0,0,'C');
$pdf->SetFont("Arial","B",18);
$pdf->cell(0,10,"Date:{$calender} ",0,1,'R');
$pdf->cell(0,10,"Time:{$time}",0,1,'R');
$pdf->output();
}
?
真的谢谢大家,现在我可以在使用 varchar 作为 Bill_number 后将 session 增量值正确插入到数据库表中。
但现在的问题是我无法将 session 增量值以 0001,0002 等格式插入数据库。
如果再次帮助我,真的非常感谢。
最佳答案
请检查:
- 列 Bill_number 为
varchar
类型 - 您应该在 PHP 脚本的开头添加
session_start();
,否则您的 session 变量将被视为局部变量 - 在传递到
mysql_query
之前准备查询并打印它。
此外,您还可以将 $_SESSION['rid'] = $_SESSION['rid']+ 1;
替换为 $_SESSION['rid']++;
在您的代码中。
关于php - 如何使用 php 将 session 增量值插入数据库表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125271/