while循环php中的UPDATE查询


UPDATE query inside a while loop php

我需要从一个URL获取图像,然后将该URL更改为另一个。这是我的密码。但它并没有像我预期的那样起作用。它是只改变一个图像。其他人不会。

这是我的代码,

<?php
include_once('db-conn.php');
$query = "SELECT my_image_url AS image FROM my_image";
$result = mysqli_query($mysqli, $query) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($mysqli), E_USER_ERROR);
if($result) {
    while($row = mysqli_fetch_assoc($result)) {
        $img_url = $row['image'];
        $content = file_get_contents($img_url);
        $img_name = basename($img_url);
        file_put_contents($img_name, $content);
        $query = "UPDATE `my_image` SET `my_image_url` = 'http://localhost/img/".$img_name."'";
        $result2 = mysqli_query($mysqli, $query) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($mysqli), E_USER_ERROR);
    }
}
?>

将查询更改为以下查询,以便更新获取值的列

$query = "UPDATE `my_image` 
  SET `my_image_url` = 'http://localhost/img/".$img_name."' 
  WHERE `my_image_url` = {$img_url}";

您应该向update查询添加一个条件

$query = "UPDATE `my_image` SET `my_image_url` = 'http://localhost/img/".$img_name."' where (YOUR CONDITION HERE)";