首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取上次插入记录的ID

获取上次插入记录的ID
EN

Stack Overflow用户
提问于 2018-05-28 19:37:57
回答 4查看 76关注 0票数 0

我在一个名为“orders”的表中从最后插入的记录中检索order_id时遇到了一个问题。

一旦检索到,我希望将其放入我的另一个名为“报告”的表中。

我可以看到这个问题已经被问了无数次,我也提出了同样多的建议,但都没有成功。

目前,我的每个表都包含auto_increment属性,并且我的函数在“orders”表(而不是我试图实现的reports表)上执行了一次成功的插入。

代码语言:javascript
复制
function report() {



if(isset($_GET['tx'])) {  

$amount = $_GET['amt']; 
$currency = $_GET['cc'];
$transaction = $_GET['tx']; 
$status = $_GET['st']; 
$total = 0;  
$item_quantity = 0; 




$send_order = query(" INSERT INTO orders (order_amount, order_transaction, order_status, order_currency) VALUES('{$amount}','{$currency}','{$transaction}','{$status}')");


$last_id = last_id(); // this calls last_id in functions.php


confirm($send_order);  




foreach ($_SESSION as $name => $value) { 


if($value > 0 ) { 


if(substr($name, 0, 8) == "product_") { 


$length = strlen($name - 8); 

$id = substr($name, 8 , $length);




$query = query(" SELECT * FROM products WHERE product_id = " . escape_string($id). " " );

confirm($query);



while ($row = fetch_array($query)) {

$product_price = $row['product_price'];
$sub = $row['product_price']*$value;
$item_quantity +=$value;



$insert_report = query(" INSERT INTO reports (product_id, order_id, product_price, product_quantity) VALUES('{$id}','{$last_id}','{$product_price}','{$value}')");
confirm($insert_report); //runs the confirm helper method  




} // end of while loop


$total += $sub; 
echo $item_quantity; 


} // end of substring if statement




}// end of if value




} // end of foreach loop


session_destroy();

} else {


redirect("index.php");


} //end of if isset GET tx




} // end of report function /////////////////

functions.php

代码语言:javascript
复制
function last_id() {

global $connection;

return mysqli_insert_id($connection);



}
EN

回答 4

Stack Overflow用户

发布于 2018-05-28 19:40:41

你可以在你的php页面中插入查询后使用mysqli_insert_id($send_order)

票数 0
EN

Stack Overflow用户

发布于 2018-05-28 19:42:58

你应该打电话给

代码语言:javascript
复制
$last_id = last_id();

在使用之后使用

代码语言:javascript
复制
confirm($send_order); 
票数 0
EN

Stack Overflow用户

发布于 2018-05-28 20:25:43

试着这样做:

$send_order = query(“INSERT INTO orders (order_amount,order_transaction,order_status,order_currency) VALUES('{$amount}','{$currency}','{$transaction}','{$status}')");

$last_id = $send_order->insert_id;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50565543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档