【发布时间】:2019-08-02 19:05:34
【问题描述】:
如果行存在(并且已插入),我只想运行更新查询。我尝试了几种不同的方法,但这可能是我如何循环的问题。插入工作正常并创建记录和更新应该采用现有值并每次添加它(10 存在 + 15 添加,25 存在 + 15 添加,40 存在......我在循环中尝试了这个但它运行了列表中的每个项目,每次都是一个巨大的数字。此外,每次单击链接时都会运行该页面,因此用户退出并返回
while($store = $SQL->fetch_array($res_sh))
{
$pm_row = $SQL->query("SELECT * FROM `wishlist` WHERE shopping_id='".$store['id']."'");
$myprice = $store['shprice'];
$sql1 = "insert into posted (uid,price) Select '$uid','$myprice'
FROM posted WHERE NOT EXISTS (select * from `posted` WHERE `uid` = '$namearray[id]') LIMIT 1";
$query = mysqli_query($connection,$sql1);
}
$sql2 = "UPDATE posted SET `price` = price + '$myprice', WHERE shopping_id='".$_GET['id']."'";
$query = mysqli_query($connection,$sql2);
【问题讨论】:
-
您可能会发现
ON DUPLICATE KEY UPDATE很有用。我也强烈推荐使用prepared statements。 -
谢谢,这看起来很有希望,但是当我尝试时,初始插入不起作用