簡體   English   中英

選擇表中所選行的最后插入的ID

[英]Select last inserted id of selected rows in a table

有什么辦法讓我從選定的行中選擇最后插入的ID。 (並非來自表中的所有行)下面是我編寫的代碼。 我想選擇一個具有最高周屬性值的屬性。 那也是該選定集合的最后插入的ID。

$get_payment_details = 'SELECT * FROM payment WHERE m_id="' . $mselcted_memberI . '" AND app_id= "' . $aprvd_appid . '"';

$get_payment = mysql_query($get_payment_details);
$get_pay_result = mysql_fetch_assoc($get_payment);
$get_pay_count = mysql_num_rows($get_payment);

if ($get_pay_count < 1) {
    $query1 = "INSERT INTO payment(date,m_id,app_id,week,capital_topay,interest_to_pay,received,advanced,remain_capital,remain_interest)
               VALUES('$date1',"."'".$mselcted_memberI."',"."'".$aprvd_appid."',"."'".$week1."',"."'".$aprvd_amount."',"."'".$ttl_interest."',"."'".$received1."',"."'".$advanced1."',"."'".$aprvd_amount."',"."'".$ttl_interest."')";
    $login_set = mysql_query($query1,$connection);
    confirm_query($login_set);
    echo $week1;
} else if ($get_pay_count >0){

}

如果使用PHP 5.5之前的版本,則可以使用mysql_insert_id()檢索最后插入的ID。 從文檔中:

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

但是請注意,從PHP 5.5.0開始不推薦使用此功能。 規范推薦的解決方案如下:

我不確定您的確切意思,但是要從sql獲取最后一個自動生成的ID,請使用

$theID = mysqli_insert_id();

這里是更多信息:

http://php.net/manual/zh/mysqli.insert-id.php

你需要:

SELECT id FROM payment WHERE yourConditions ORDER BY week DESC LIMIT 0,1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM