如何获取最后插入的 ID 以及如何使用 PHP 签入更新查询的位置条件


how to get the last inserted id and how to check in where condition to update query using php

嗨,我正在将数据插入数据库表并重定向到另一个页面,需要通过比较ID和电子邮件将详细信息插入到同一表中。但是如何获取最后插入的id并在何处比较条件以更新详细信息。

这是我的代码:

索引.php

<form method="post" action="properties.php" id="myform">
<input  type='hidden' value="<?php echo $username; ?>" name='email'>
<tr><th>Interest Paid</th><td><input type="text" name="house_interest_paid" value=""/></td>
<tr><th>Total Interest Paid</th><input type="text" name="house_total_interest_paid" value=""/></td>
<tr><th>House Number</th><input type="text" name="house_number" value=""/></td>
<tr><th>Street</th><input type="text" name="house_street" value=""/></td>
<button type="submit"  class = "large awesome yellows" onClick="document.location.href='ownerproperty.php'"> Specify Co-owners Property</button> </span>
</form>

属性.php

$email=$_POST['email'];
$interest=$_POST['house_interest_paid'];
$interestpaid=$_POST['house_total_interest_paid'];
$number=$_POST['house_number'];
$street=$_POST['house_street'];
$query=mysql_query("INSERT INTO house_details(email,house_interest_paid,house_total_interest_paid,house_number,house_street)values           ('$email','$interest','$interestpaid','$number','$street')");
if($query)
{       
    session_start();
    header("Location:ownerproperty.php");       
}
else{
    echo "Registration has not been completed.Please try again";
}

业主财产.php

<form style="display:none" method="POST" action="owner.php"> 
<h2>Owner Property details</h2>              
<input type='hidden' value="<?php echo $username; ?>" name='email'>
<?php include "ownership.php"; ?>
<p><label for="name_coowner">Coowner Name</label> <input value="<?php echo $row['name_coowner'];?>" type="text"    name="name_coowner"  /></p>
<p><label for="pan_coowner">PAN Of Coowner</label> <input value="<?php echo $row['pan_coowner'];?>" type="text"   name="pan_coowner"  /></p>            
<button type="submit"  class = "medium" style="background-color: #2daebf;">Save</button>
</form>

所有权.php

$res = "SELECT * FROM house_details 
   WHERE email ='$username'";
$result=mysql_query($res);
$row = mysql_fetch_array($result);

所有者.php

$email=$_POST['email'];
$owner_name=$_POST['name_coowner'];
$pan_owner=$_POST['pan_coowner'];
$query=mysql_query("UPDATE house_details SET name_coowner='$owner_name',pan_coowner='$pan_owner'
                      WHERE email='$email' AND house_details_id='2'");
if($query)
{       
    session_start();
    header("Location:rentalproperty.php");          
}

当我第一次单击提交按钮时,数据正在插入数据库并重定向到 ownerproperty.php .in,我需要获取插入的 ID 并需要将该 ID 和电子邮件合并,并且需要在同一列中更新所有者属性详细信息当电子邮件和 ID 相同时。但是如何获得该ID并在任何人都可以帮助我的情况下进行比较。

属性.php

$query=mysql_query("INSERT INTO house_details(email,house_interest_paid,house_total_interest_paid,house_number,house_street)values           ('$email','$interest','$interestpaid','$number','$street')");
$id = mysql_insert_id(); //For last inserted id.
if($query)
{       
    session_start();
    $_SESSION['sess_id'] = $id; // Set one session variable for last inserted id.
    header("Location:ownerproperty.php");       
}

所有者.php

<?php
session_start(); // Start your session
$id = $_SESSION['sess_id']; // Use this id in query
$email=$_POST['email'];
$owner_name=$_POST['name_coowner'];
$pan_owner=$_POST['pan_coowner'];
$query=mysql_query("UPDATE house_details SET name_coowner='$owner_name',pan_coowner='$pan_owner'
                      WHERE email='$email' AND house_details_id='2'");
if($query)
{       
    session_start();
    header("Location:rentalproperty.php");          
}

[注意mysql扩展已被弃用。使用PDOmysqli_数据库扩展。

你可以添加这个:

$stmt = 'SELECT LAST_INSERT_ID() as sessionId';

哪个应该从最后一个插入中获取 ID。

$query=mysql_query("INSERT INTO house_details(email,house_interest_paid,house_total_interest_paid,house_number,house_street)values           ('$email','$interest','$interestpaid','$number','$street')");
if($query)
{   
   //Last inserted ID
    $last_id = $query->insert_id;
    session_start();
    header("Location:ownerproperty.php");       
}
else{
    echo "Registration has not been completed.Please try again";
}

您可以添加以下内容:

$stmt = 'SELECT MAX(house_details_id) AS "id" FROM house_details';
$result=mysql_query($stmt);
$row = mysql_fetch_array($result);
$id = $row['id'];