嵌套 MySQL 语句 - 只运行一个循环


nest mysql statements - runs only one loop?

不太确定为什么会发生这种情况,以前从未发生过,但不知何故,我似乎可以弄清楚这一点。

$listing = $mySql->query("SELECT * FROM `ERRVER` as ev JOIN RELIST as rl on rl.Property_id=ev.Property_id WHERE ev.Corrected =1 AND (ev.Fieldname = 'City' || ev.Fieldname = 'StreetName' || ev.Fieldname = 'StreetNumber')");
    while ($record = $listing->fetchAssoc()) {
         $Location_id=$record['Location_id'];
          if ($record['Fieldname']=='City') {
               $sql="Update RELOC SET City='$record[Real_Value]' WHERE Location_id=$Location_id";
          }
          if ($record['Fieldname']=='StreetNumber') {
               $sql="Update RELOC SET StreetNumber='$record[Real_Value]' WHERE Location_id=$Location_id";
          }
          if ($record['Fieldname']=='StreetName') {
               $sql="Update RELOC SET StreetName='$record[Real_Value]' WHERE Location_id=$Location_id";
          }
          trace($sql);
      if ($update=$mySql->query($sql)) {
        $sql2="Update ERRVER SET Corrected=-1 WHERE Error_id=$record[Error_id]";
      trace($sql2);
      $update2=$mySql->query($sql2);
      }

 }

如果我没有$update,只是做一个echo $sql,它工作得很好,但是当我有$update的那一刻,它只是给我一个循环?我知道,我错过了一些东西,只是不知道是什么。

$listing = $mySql->query("SELECT * FROM `Error_Verify` as ev JOIN Real_Listing as rl on rl.Property_id=ev.Property_id WHERE ev.Corrected =1 AND (ev.Fieldname = 'City')");
    while ($record = $listing->fetchAssoc()) {
             $Location_id[]=$record['Location_id'];
             $Value[]=$record['Real_Value'];
             $errorid[]=$record['Error_id'];
     }
     for ($i=0;$l<count($Location_id);$i++) {
         $sql="Update Real_Location SET City='$Value[$i]' WHERE Location_id=$Location_id[$i]";
         trace($sql);
         if ($mySql->query($sql)) {
                $sql2="Update Error_Verify SET Corrected=-1 WHERE Error_id=$errorid[$i]";
                trace($sql2);
                $mySql->query($sql2);                
         }
     }

虽然上述工作.....而且我知道它会起作用...我仍然不确定为什么原始代码不起作用...嵌套的MySQL查询并不是一件新鲜事...我仍然把这个问题留给,,,