Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何保留MySQL行并进行更新_Php_Javascript_Mysql_Ajax - Fatal编程技术网

Php 如何保留MySQL行并进行更新

Php 如何保留MySQL行并进行更新,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,我被要求提供一个我不确定如何实现的功能。有一个输入电话号码的表单页面-我需要在按钮submit上将该电话号码输入到一行中,并在5-10分钟后以相同的表单填写其余选项并更新该行。我不知道该怎么做。我正在考虑使用mysql\u insert\u id()/last\u insert\u id() “> 使用mysql\u insert\u ID()获取ID。将其存储在会话中,您可以在表单的其余部分引用它。正如坦杜所说,您可以使用mysql\u insert\u ID()获取ID,然后将其存储在会话中

我被要求提供一个我不确定如何实现的功能。有一个输入电话号码的表单页面-我需要在按钮submit上将该电话号码输入到一行中,并在5-10分钟后以相同的表单填写其余选项并更新该行。我不知道该怎么做。我正在考虑使用mysql\u insert\u id()/last\u insert\u id()

“>


使用
mysql\u insert\u ID()
获取ID。将其存储在会话中,您可以在表单的其余部分引用它。

正如坦杜所说,您可以使用
mysql\u insert\u ID()
获取ID,然后将其存储在会话中,稍后再引用它。但是,如果您使用默认的PHP会话,我会提醒您(通过
session\u start()
$\u session
等)会话将不会永远存在,因此,如果他们离开计算机并在几个小时后回来(例如,从午餐回来),则可能需要重新开始该过程

我认为最好有自己的会话处理程序(以我个人的经验,这已被证明是更可控、更安全的)。但是,另一种选择是将id作为表单中的隐藏值发送回用户,例如:

<form ...>
    <input name="dbid" value="<?=$id?>" type="hidden" />
    <!-- the rest of the form.... -->


我试过了,但我还是有点难以理解你在问什么。你是说你想在不离开页面的情况下提交电话号码并返回数据库中电话号码行的id吗?是的,我相信最好的方法是提交带有电话号码的电话,然后在被收集以重新提交上一行的更新以及进一步的详细信息。只是到达那里让我感到困惑。我以前从未使用过会话-因此在初次提交后,会话数据将存储为$\u session['mysql\u insert\u id()']?不,像这样:
$\u session['id']=mysql\u insert\u id());
但是请注意我的答案,这是另一种不用会话的方法。虽然这不是“最推荐”的解决方案,但它可能适合您(特别是如果您以前从未使用过会话),请确保使用会话启动()在每一个需要会话变量的页面上。我会使用会话来处理这类事情。页面设置为一小时后超时。开始部分对我来说并不难,但这让我很难受——我以前从未使用过PHP会话——现在读到这一点。是的,查看会话和cookie——这对你来说很好。你试过隐藏的表单输入吗?像这样?
$id=mysql\u insert\u id()}?>接下来我想问的问题是如何确保插入数据库的下一个电话号码不会覆盖上一行?是的,那么当表单发送到服务器时,
$\u POST['row']
应将行的id插入数据库中。
<form ...>
    <input name="dbid" value="<?=$id?>" type="hidden" />
    <!-- the rest of the form.... -->