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
Php 在mysql中如何在一个查询中编写Insert和Update查询_Php_Mysql - Fatal编程技术网

Php 在mysql中如何在一个查询中编写Insert和Update查询

Php 在mysql中如何在一个查询中编写Insert和Update查询,php,mysql,Php,Mysql,我在下面提到了这个问题 我正在使用php开发库存系统 根据这一点,我必须将已开具发票的项目添加到表中 动态生成的文本框,用于收集收到的项目详细信息 我有当前的库存表,它包含项目名称和数量列 项目名称是主键字段 如果已经存在,我将插入的项目数量应更新为新值 如果不存在,则应作为新行插入 这必须在循环中完成,因为我使用动态生成的文本框,并使用$item[]和$qty[]数组收集数据 我尝试使用几种方法来解决这个问题,无法在for循环中执行,但尚未成功 请帮助我………对于您必须使用的多查询执行 mys

我在下面提到了这个问题

我正在使用php开发库存系统

根据这一点,我必须将已开具发票的项目添加到表中

动态生成的文本框,用于收集收到的项目详细信息

我有当前的库存表,它包含项目名称和数量列

项目名称是主键字段

如果已经存在,我将插入的项目数量应更新为新值

如果不存在,则应作为新行插入

这必须在循环中完成,因为我使用动态生成的文本框,并使用$item[]和$qty[]数组收集数据

我尝试使用几种方法来解决这个问题,无法在for循环中执行,但尚未成功


请帮助我………

对于您必须使用的多查询执行

mysqli_multi_query()
像这样:

mysqli_multi_query("INSERT INTO TABLE SET Field='Value',FieldB='ValueB';
UPDATE TABLE SET Field='Value',FieldB='ValueB' WHERE FIELDID='VALUEID';")
我希望这能奏效。祝你玩得开心。

你可以试试这个:

INSERT INTO table (id, item_name, qty) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
item_name="A"

如果指定,并且插入一行,这将导致在唯一索引或主键中出现重复值,MySQL将执行旧行的更新

检查此项:欢迎使用Stackoverflow。请展示您的代码,以证明您在多大程度上尝试并帮助其他成员更好地理解您的问题,同时您将提供您的问题的上下文。主问题无法在中执行重复的KET更新,因为这是我的问题。。。。如果(is_数组($qty)和($item)){for($i=0;$i