我正在尝试执行2个查询,但每当我在线查看有关多个查询的指南时,它都没有执行任何一个查询。
我在第一个查询中尝试做的是在当前在colHistory上的记录上插入或添加用户在$ HISTORY上输入的内容;即:
colHistory上的当前数据:
A
用户在$ HISTORY上输入'B',语法应该在当前记录的'A'上添加'B',或'AB'。然后使用第二个查询来更新此特定行上的所有其他记录或列。
这是代码(请注意'...'表示更多不必要的代码):
$query = INSERT INTO tbInventory SET colHistory='$HISTORY' WHERE colSerno='$SERIALNUM';";
$query .= "UPDATE tbInventory SET
colImage='$IMAGE',
colSerno='$SERIALNUM',
...
...
colHistory=''
WHERE colSerno='$SERIALNUM'";
mysqli_multi_query($con,$query);
请注意我在从表单插入数据之前将colHistory声明为''。我不确定我是否在这方面做得对。有什么我想念的吗?
*编辑:
我已经尝试逐个执行查询:
mysqli_query($con,"INSERT INTO tbInventory SET colHistory='$HISTORY' ");
mysqli_query($con,"UPDATE tbInventory SET
...
...
colHistory=''
WHERE colSerno='$SERIALNUM'";
然而它似乎也没有用,整个事情都被忽略了。
(**我在上面的代码块下面有一个脚本,我可以在那里打印结果,它确实运行了)
答案 0 :(得分:2)
我可以告诉你为什么你的第一个查询被破坏了。 INSERT INTO tbInventory SET colHistory =' $ HISTORY'
此查询使用UPDATE语法,但您告诉查询处理器期望INSERT INTO语法。因此查询无法执行。
决定是否需要更新现有记录或插入新记录并更改查询以反映该记录。 (更改INSERT INTO更新或更改"设置colHistory =' $ History'""值(' $ History',' col2Val& #39;等等..")
至于你的第二个查询,语法看起来不错,但是由于你没有发布整个查询,很难说出那里发生了什么。如果您可以显示更多该查询,我可以更新此回复。
这是关于插入与更新的一个很好的问题。
答案 1 :(得分:0)
我最终删除了多查询方法,但我确实通过某种方式作弊得到了我的预期结果:


我分配了旧数据或当前在数据上的数据colHistory单元格,显示它,但我禁用了textarea。然后,我在脚本中创建了一个隐藏的文本框,其中包含旧数据,然后将其隐藏到用户视图中。


然后我将两个textareas连接到我创建的新用户,用户可以修改,模拟想要的结果。