【发布时间】:2018-02-27 04:26:19
【问题描述】:
我有一个带有提交按钮的输入字段名称(id、设置、值)的表单。现在,我现在将表单数据插入数据库,我希望从第一次插入数据时如何更新相同的表单数据第二次不插入数据..
<?php
if(isset($_POST['save']))
{
include "connection.php" ;
$id = $_POST['id'] ;
$name = $_POST['name'] ;
$value = $_POST['value'] ;
$query="create table if not exists settings(id int(10),name varchar(50),value varchar(100))";
$results=mysql_query($query) or die("QUERY FAILED 1:".mysql_error());
$query="INSERT INTO settings VALUES('$id','$name','$value')";
$results=mysql_query($query) or die("QUERY FAILED 2:".mysql_error());
$query="update settings set value='$value' where id='$id'";
$results=mysql_query($query) or die("QUERY FAILED 3:".mysql_error());
echo $settings ;
}
【问题讨论】:
-
插入数据时,获取该数据的最后一个插入 id 并使用该 id 更新它
-
我建议您避免使用
INSERT查询插入id,将id设置为DB 中的primary key并让它自动递增。插入后,您将获得最后插入的记录 id 为$last_inserted_id = $mysql->insert_id;,根据需要使用此 id 进行更新。我不确定您为什么要使用相同的$value更新相同的数据库记录 -
正如@Sinto 所说,不要在创建表时插入 id 使 id 自动递增,并在更新前使用 select 语句获取最后一个插入 id。