已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
2天前关闭。
Improve this question
我正在尝试使用PHP更新MySQL中的表。
某些行具有相同的索引值,列名为“num”。
我有一个数字数组要更新到一个名为“代码”的列中。
Illustration of the Table
让我们把这个数组命名为$codearr:[100,200,400,300,500,900,1500,150,50,20,1000]。
我想从列表中插入数字一个接一个,一行接一行,其中'num'等于1,通过使用UPDATE命令。
我所有的努力都没有按照列表的顺序插入列表,就像我的例子一样,扭曲了列表的顺序。
我的努力:
我尝试通过创建一个新列,命名为“uniq”,并在其中放置一个随机数,为每行添加一个唯一标识符。
之后,我检索了列'uniq'和列'num'的值列表,并将它们放在单独的数组中。我创建了一个循环,将$codearr中的数字插入到列'code'中,方法是遍历'uniq'中的值数组,并为每个唯一标识符插入一个列表中的数字。
我不知道为什么我的循环是从列表中插入的数字不是按正确的顺序,并希望得到一些帮助。
$codearr=[100,200,400,300,500,900,1500,150,50,20,1000];
$i=0;
while($i<count($codearr))
{
$stmt = $conn->prepare("UPDATE test SET code = ? WHERE num = 1 AND uniq = ?");
$stmt->bind_param("is", $codearr[$i], $uniq[$i]);
$stmt->execute();
$stmt->close();
$i++;
}
假设$uniq数组有所有的唯一标识符。目的是在$codearr中按预定顺序插入。
1条答案
按热度按时间p4tfgftt1#
您可以在PHP中使用一个循环,通过在
UPDATE
语句中使用LIMIT 1
来更新num
为空的一行。每次迭代将任意选择一个未填充的行并更新它。