我可以发誓我上周有这个工作,但现在我得到了错误。
在PHP中,我有一个大的CSV文件,我通过foreach循环运行,在这个循环中,我有一个创建的变量,它向自己添加一个UPDATE行,如下所示:
foreach ($csv->data as $value){
$updater .= "UPDATE tblProduktData SET xtra = 2 WHERE id = '$value[1]';";
}
mysql_query("$updater") or die(mysql_error());
CSV文件包含超过3000行,因此在循环中使用mysql_query()显然会使进程变慢并且不值得推荐。
任何人都可以告诉我,如果我错过了什么或者做错了吗?
答案 0 :(得分:1)
我们将暂时忽略您使用已弃用的PHP扩展 mysql _ 这一事实(计划从该语言中删除)已有好几年了。
出于某种原因,每次通过循环使用.=
语法添加sql查询。我假设你认为你可以使用mysql_扩展一次运行多个查询,但你不能。
所以试试这个: -
foreach ($csv->data as $value){
$updater = "UPDATE tblProduktData SET xtra = 2 WHERE id = '$value[1]'";
mysql_query($updater) or die(mysql_error());
}
这实际上是使用mysqli_或PDO预处理语句的完美候选者。
答案 1 :(得分:0)
试试这个:
<option value="0">Select</option>
<option value="111">superSubOcc1</option>
<option value="112">superSubOcc2</option>
<option value="113">superSubOcc3</option>
<option value="114">superSubOcc4</option>