MySQL更新不更新某些行

时间:2013-02-23 22:29:07

标签: mysql

这是我的双重疑问:

$Quest = "SELECT * FROM TOAWorkorders";
 $FindTechResult = mysql_query($Quest, $cxn)
        or die ('The easter bunny is watching you' . mysql_error());

while ($row = mysql_fetch_array($FindTechResult))
 {          
      if (strpos($BBT, 0, 3) != 'Sys')
        {

              $IdNum = $row['IdNum'];

              $BBT = $row['BBT'];       
              $BBTArray = explode("-", $BBT);
              $TechNum = $BBTArray["0"];
              $Title = $BBTArray["2"];

             $Name = explode(" ", $BBTArray['1']);
             $FirstName = $Name["0"];
             $LastName = $Name["1"];

                }

echo $TechNum . ' !! ' . $FirstName . ' !! ' . $LastName . ' !! ' . $Title . '<br>';


$Quest = "UPDATE TOAWorkorders SET TechNum = '$TechNum', FirstName = '$FirstName', LastName = '$LastName', Title = '$Title' WHERE IdNum = '$IdNum'";
$result = mysql_query($Quest, $cxn)  or die(mysql_error());   
     }

一切都适用于数据库的大约2/3。这留下了33,000行未更新。我找不到有效的数据和没有的数据之间的任何区别。

1 个答案:

答案 0 :(得分:0)

由于您正在进行更新,并且您说其余代码有效(意思是,我希望您得到109,112个回显结果),所以必须是找不到ID(WHERE IdNum) ='$ IdNum')。

尝试使用“TOAWorkorders WHERE IdNum ='$ IdNum'中的SELECT COUNT(*)”来执行该命令,并查看程序运行时是否获得33,000个零。如果您这样做,那么您的表中缺少IdNum值。

如果您不这样做,请提供详细信息,我会通知您。