当多个用户在php和oracle中输入表单中的详细信息时,如何获取最后插入的值

时间:2014-05-28 07:10:54

标签: php oracle

我正在尝试插入用户数据并在表单中显示最后插入的特定详细信息:

$name=$_POST['name'];
$email_id=$_POST['email_id'];
$number=$_POST['number'];
$remarks=$_POST['remarks'];
$req_name=$_POST['req_name'];
date_default_timezone_set('Asia/Kolkata');
$date=date("d-m-Y");

$insert_data="INSERT INTO FEEDBACK(id, name, email, mobile_num, remarks,req_date) VALUES(FEEDBACK_sequence.nextval,:p_name, :p_email, :p_number, :p_remarks,:p_date)";
oci_bind_by_name($stid, ":p_name", $name);
oci_bind_by_name($stid, ":p_email", $email_id);
oci_bind_by_name($stid, ":p_number", $number);
oci_bind_by_name($stid, ":p_remarks", $remarks);
oci_bind_by_name($stid, ":p_date", $date);
oci_execute($stid) or die(oci_error());

在同一页面中,我在这里插入用户详细信息,并使用创建的序列自动增加,现在我想在表单中显示最后插入的用户详细信息, 像这样我显示最后插入的细节,但我想通过序列号获取详细信息,使用select查询中的where条件,如何获得最后插入的记录。

$stid = oci_parse($conn, 'select * from FEEDBACK');
$r = oci_execute($stid) or die(oci_error());

while ($row=oci_fetch_array($stid)) {
echo "<tr>\n";
echo "<td><input type='hidden' value='' name='id'>".$row['ID']."</td>";
    echo "<td><input type='text' value='' name='name'>".$row['NAME']."</td> ";
    echo "<td><input type='text' value='' name='email'>".$row['EMAIL']."</td>";
    echo "<td><input type='text' value='' name='mobile_num'>".$row['MOBILE_NUM']."     </td>";
    echo "<td><input type='text' value='' name='remarks'>".$row['REMARKS']."</td>";
    echo "<td>".$row['REQ_DATE']."</td>\n";
echo "</tr>\n";

请帮帮我。

1 个答案:

答案 0 :(得分:0)

也许我很容易看到它,但为什么不改变

$stid = oci_parse($conn, 'select * from FEEDBACK');

$stid = oci_parse($conn, 'select * from FEEDBACK ORDER BY id DESC LIMIT 1');

它以相反的顺序选择行,并且只返回一行(具有最高ID)。