Привязка неизвестной длины строк к многочисленным таблицам

Хорошо, я знаю, что есть немного информации относительно использования mysqli_insert_id($conn) чтобы получить идентификатор последней записи.

Мой вопрос на самом деле состоит из двух частей, относящихся к одному и тому же коду, и касается чего-то, чего нет ни в одной из этих сведений (из того, что я смог найти).

Часть 1 - Получаю ли я последний идентификатор вставки, который был только что создан этим пользователем, или, если есть 5 миллионов (игнорируйте сторону производительности в секунду) людей, одновременно вводящих записи, будет ли шанс он забирает номер записи другого пользователя?

Нужно ли мне идти дальше и проверять последнюю запись + пользователем "...."?

Часть 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
?>

0 ответов

Другие вопросы по тегам