繁体   English   中英

更新SQL表的行

[英]Update rows of a SQL table

我有一个表,其中有一列称为“状态”。 “状态”的默认值是0。使用后,我想将其更新为“ 1”。 我基本上想检查状态是否为0,如果是,请执行一个操作,然后将值更改为1。

这是代码。 除了0的值未更改为1以外,其他所有方法都工作正常。

<?php

$sql = "SELECT number, status FROM summonerid";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

     // output data of each row
     while($row = $result->fetch_assoc()) {
        $SummonerID = $row["number"];
        $status = $row["status"];

        if($status=='0'){
             $recentgames=$lol->getRecentGames($SummonerID);
             $MatchID1=$recentgames->games[0]->gameId;
             $sql = "INSERT INTO matchid (number) SELECT * FROM (SELECT '$MatchID1') AS tmp WHERE NOT EXISTS (SELECT number FROM matchid WHERE number = '$MatchID1') LIMIT 1;";

             $sql = "UPDATE summonerid SET status='1' WHERE status='0';"; // THIS IS THE PART THAT DOES NOT WORK WELL
        }
    }
}

?>

任何帮助将不胜感激

试试这个..您没有执行sql语句

$sql = "SELECT number, status FROM summonerid";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

 // output data of each row
 while($row = $result->fetch_assoc()) {
    $SummonerID = $row["number"];
    $status = $row["status"];

    if($status=='0'){
         $recentgames=$lol->getRecentGames($SummonerID);
         $MatchID1=$recentgames->games[0]->gameId;
         $sql = "INSERT INTO matchid (number) SELECT * FROM (SELECT '$MatchID1') AS tmp WHERE NOT EXISTS (SELECT number FROM matchid WHERE number = '$MatchID1') LIMIT 1;";

          $result1 = $conn->query($sql);
         $sql = "UPDATE summonerid SET status='1' WHERE status='0';"; 
          $result1 = $conn->query($sql); 
    }
}
}

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM