我正在尝试将两个值发送到我的服务器以输入到同一行的数据库中,我遇到的问题是无法在一个请求中发送这两个值。所以我想要做的是在单独的请求中发送这两个值,但是立即在服务器上处理它们,这样我就可以将值作为一个条目添加到数据库中。我的php不是很强大,我不知道怎么做这个。可能吗?我该怎么做?
这是我到目前为止所拥有的:
<?php
$user = "user";
$pass = "pass";
$table = "database";
if(isset($_POST['currentUser']))
{
$userID = 'currentUser';
}
if(isset($_POST ['e.regid']))
{
$regid = 'e.regid';
}
if ($regid && $userID != null)
{
$con = mysqli_connect("localhost", $user, $pass);
mysqli_select_db($con, $table);
if (mysqli_connect_errno$con))
{
echo "Error connecting to the DB: " . mysqli_connect_errno());
}
else
{
"INSERT INTO gek_devices('regid', 'pin') VALUES ($regid, $userID)";
}
}
答案 0 :(得分:2)
不,由于网络延迟和不可靠性,甚至都不保证两个请求都会到达服务器,更不用说在一分钟之内了,更不用说一旦处理完两个请求就可以运行代码了。在实践中,由于* nix上的默认Apache安装将预先执行10&#39;备用,因此机会超过90%,即两个请求甚至不会由服务器上的相同Apache进程处理。实例
如果您需要同时处理数据,则需要在同一请求中发送数据,这是保证atomicity的唯一方法。
你想要的解决方案是完全不可能的,但也是一个明显的XY problem。解决为什么你现在不能同时发送值而不是关注那之后的hacky变通方法。