Php 在mysql数据库中插入和更新数据
我在数据库中插入和更新数据时遇到一些问题。除了一件事之外,一切都很好——数据正在插入和更新,但也将重复数据插入数据库(每次运行脚本时)。我的代码如下所示:Php 在mysql数据库中插入和更新数据,php,mysql,insert-update,Php,Mysql,Insert Update,我在数据库中插入和更新数据时遇到一些问题。除了一件事之外,一切都很好——数据正在插入和更新,但也将重复数据插入数据库(每次运行脚本时)。我的代码如下所示: mysql_query(" INSERT INTO database_name SET ski_area_rid = '$SKI_RID', ski_zone_id = '$ZONE_ID', ski_zone_zone_name = '$ZONE_NAME', ski_zone_zone_sort_order = '$ZONE_SORT
mysql_query("
INSERT INTO database_name SET
ski_area_rid = '$SKI_RID',
ski_zone_id = '$ZONE_ID',
ski_zone_zone_name = '$ZONE_NAME',
ski_zone_zone_sort_order = '$ZONE_SORT_ORDER',
ski_zone_lift_id_lift = '$LIFT_ZONE_ID',
ski_zone_lift_lift_name = '$LIFT_ZONE_LIFT_NAME',
ski_zone_lift_lift_id_status = '$LIFT_ZONE_ID_STATUS',
ski_zone_lift_opening_time = '$LIFT_ZONE_OPENING_TIME',
ski_zone_lift_lift_update_date = '$LIFT_ZONE_UPDATE_DATE',
ski_zone_lift_id_lift_type = '$LIFT_ZONE_ID_TYPE',
ski_zone_lift_lift_type_name = '$LIFT_ZONE_TYPE_NAME'
") OR die(mysql_error());
echo 'DONE<br /><br />';
mysql_query("
UPDATE database_name SET
ski_area_rid = '$SKI_RID',
ski_zone_id = '$ZONE_ID',
ski_zone_zone_name = '$ZONE_NAME',
ski_zone_zone_sort_order = '$ZONE_SORT_ORDER',
ski_zone_lift_id_lift = '$LIFT_ZONE_ID',
ski_zone_lift_lift_name = '$LIFT_ZONE_LIFT_NAME',
ski_zone_lift_lift_id_status = '$LIFT_ZONE_ID_STATUS',
ski_zone_lift_opening_time = '$LIFT_ZONE_OPENING_TIME',
ski_zone_lift_lift_update_date = '$LIFT_ZONE_UPDATE_DATE',
ski_zone_lift_id_lift_type = '$LIFT_ZONE_ID_TYPE',
ski_zone_lift_lift_type_name = '$LIFT_ZONE_TYPE_NAME'
WHERE ski_zone_lift_id_lift = '$LIFT_ZONE_ID' ") OR die(mysql_error());
echo 'UPDATED<br /><br />';
mysql\u查询(“
插入到数据库\u名称集中
ski_area_rid=“$ski_rid”,
滑雪区id=“$zone_id”,
滑雪区名称=“$zone\u name”,
ski_zone_zone_sort_order=“$zone_sort_order”,
滑雪区电梯id电梯=“$lift\u zone\u id”,
滑雪区电梯名称=“$lift\u zone\u lift\u name”,
滑雪区电梯电梯id状态=“$lift\u zone\u id\u status”,
滑雪区电梯开放时间=“$lift\u zone\u opening\u time”,
滑雪区电梯更新日期=“$lift\u zone\u update\u date”,
滑雪区电梯id电梯类型=“$电梯id电梯类型”,
滑雪区电梯类型名称=“$lift\u zone\u type\u name”
)或死亡(mysql_error());
回显“完成”
;
mysql_查询(“
更新数据库名称集
ski_area_rid=“$ski_rid”,
滑雪区id=“$zone_id”,
滑雪区名称=“$zone\u name”,
ski_zone_zone_sort_order=“$zone_sort_order”,
滑雪区电梯id电梯=“$lift\u zone\u id”,
滑雪区电梯名称=“$lift\u zone\u lift\u name”,
滑雪区电梯电梯id状态=“$lift\u zone\u id\u status”,
滑雪区电梯开放时间=“$lift\u zone\u opening\u time”,
滑雪区电梯更新日期=“$lift\u zone\u update\u date”,
滑雪区电梯id电梯类型=“$电梯id电梯类型”,
滑雪区电梯类型名称=“$lift\u zone\u type\u name”
其中ski_zone_lift_id_lift='$lift_zone_id')或die(mysql_error());
echo“更新的
”;
因为您总是会插入。必须检查该值是否存在(如果不存在),然后插入该值(如果存在),然后更新该值
看看或
这两个链接将帮助您
另外,请使用PDO或Mysqli而不是mysql。您可以使用sqlfiddle.com来显示它吗?