【发布时间】:2023-03-21 03:18:01
【问题描述】:
我从 MScost 表中获取数据以输入到 tmp_table。 我使用带有 sqlsrv_fetch_array 的 while 循环插入到 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."</br>";
}else {
addData($conn, "tmp_table(category,ttl1)", "'NON',0");
echo "Null";
}
它没有任何错误。 但是 while 循环穿过存在的第一行。 不是秀它没有插入到数据库中。
然后我尝试在 IF 外部复制 while 循环粘贴,它没有越过第一行。可以正常使用。
这是为什么?我希望它在不跨越第一行的情况下在 IF 中工作。我该怎么办?
【问题讨论】:
标签: php sql-server loops while-loop sqlsrv