需要计算表中的更新数据,但$ up保持为0.从导入的csv文件接收的数据。
$up=0;
do { //loop through the csv file
if ($data[0]) {
$res = mysql_query("SELECT ...");
$check=false;
for($i = 0; $array[$i] = mysql_fetch_assoc($res); $i++){
while ((condition)){
$check = true;
$i++;
};
};
if ($check) {
$up++;//this does not work
mysql_query("UPDATE ...");
}
else {
mysql_query("INSERT ...");
}
}
} while ($data = fgetcsv($handle,1000,",","'"));
下面是do-while循环的代码,我选择文件并获取关于$ up的消息
<html>
...
<?php if (!empty($_GET[success])) {echo $up; } ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Choose your file: <br />
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Submit" />
</form>
...
答案 0 :(得分:0)
从我所看到的,我很确定你是插入而不是更新。
你的$ up只在cas $ check中执行才是真的 并且只有在查询中的每一行符合(条件)
时,$ check才会生效
你应该在while(条件)中验证你在做什么
for($i = 0; $array[$i] = mysql_fetch_assoc($res); $i++){
while ((condition)){
$check = true;
$i++;
};
};