好的,我知道有一些信息与使用mysqli_insert_id($conn)
获取最后一条记录的ID有关。
我的问题实际上是与同一段代码相关的两部分,而且是关于某些信息中没有的信息(来自我能找到的信息)。
第1部分 - 我是否获得了此用户刚刚创建的最后一个插入ID,或者如果有500万人(忽略性能方面一秒)人们同时输入记录时间,它是否有可能获得另一个用户的插入记录号?
我是否需要更进一步检查用户“....”的最后一条记录?
第2部分 - 如何最好处理行数未知的提交,例如发票中的发票项目,某人可能有1或2或22 ......如何处理是否最好处理众多未知长度的提交?它目前设置为一次处理3个项目,但是当需要4个项目时会有点兴趣。数据库类型是InnoDB,数据通过+ / - 动态订单项条目表单提交。
任何指导都将不胜感激。
目前这是我的代码(已在此处整理提交):
<?php
$con=mysqli_connect($DBServer,$DBUser,$DBPass,$DBName);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Fetching Values from URL
$logdate = $getserverlogdate;
$logtime = $getserverlogtime;
$clientid="96";
$uid="23";
$invdate="2017-11-05";
$invtime="11:45";
$invcreated="2017-11-05 11:45:06";
$invnotes="Bla Bla Test Note";
$invitemname0 = "Test Item Name 0";
$invitemtax0 = "10.00%";
$invitemcost0 = "16.95";
$invitemname1 = "Test Item Name 1";
$invitemtax1 = "10.00%";
$invitemcost1 = "25.20";
$invitemname2 = "Test Item Name 2";
$invitemtax2 = "10.00%";
$invitemcost2 = "5.00";
//Insert query to generate the invoice shell
$query = mysqli_query($con,"insert into testtblinvoices(user_id, inv_date, inv_time, inv_created, meal_notes) values ('$clientid', '$invdate', '$invtime','$invcreated','$invnotes')");
// Get record # of last insert
$invrecord = mysqli_insert_id($con);
// Invoice Items Submission
$query = mysqli_query($con,"insert into testtblinvitems(invoice_id, client_id, inv_item_name, inv_item_tax, inv_item_cost) values ('$invrecord', '$clientid', '$invitemname0','$invitemtax0','$invitemcost0')");
$query = mysqli_query($con,"insert into testtblinvitems(invoice_id, client_id, inv_item_name, inv_item_tax, inv_item_cost) values ('$invrecord', '$clientid', '$invitemname1','$invitemtax1','$invitemcost1')");
$query = mysqli_query($con,"insert into testtblinvitems(invoice_id, client_id, inv_item_name, inv_item_tax, inv_item_cost) values ('$invrecord', '$clientid', '$invitemname2','$invitemtax2','$invitemcost2')");
// Mark entry in log
$query = mysqli_query($con,"insert into testtbllogactions(user_id, related_record, log_action, log_action_date, log_action_time) values ('$uid', '$invrecord', 'invoice creation','$logdate','$logtime')");
// Ajax submission return message
echo "Your record was succesfully added.";
mysqli_close($con); // Connection Closed
?>