Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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_Mysql_Insert Update - Fatal编程技术网

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来显示它吗?