我从MScost表中获取数据以输入到tmp_table。我使用while循环与sqlsrv_fetch_array插入到tmp_table表。 getData和addData是我创建的函数,用于从我的数据库中获取数据并将数据添加到我的数据库中。
$resm1 = getData($conn, "years,months,category,ROUND(mfg,0)as ttl", "MScost", "years='2018' and months='NOV'");
if($row = sqlsrv_fetch_array($resm1, SQLSRV_FETCH_ASSOC) != Null){
while ($row = sqlsrv_fetch_array($resm1, SQLSRV_FETCH_ASSOC)) {
$category = $row['category'];
$ttl = $row['ttl'];
addData($conn, "tmp_table(category,ttl1)", "'$category','$ttl'");
}
echo $category."=".$ttl."";
}else {
addData($conn, "tmp_table(category,ttl1)", "'NON',0");
echo "Null";
}
它没有任何错误。但是while循环遍历存在的第一行。这不是表演。它不会插入数据库。
然后我尝试复制while循环粘贴到IF之外,它不会越过第一行。它正常工作。
为什么是这样?我希望它能在IF中工作而不会越过第一行。我能怎么做?