来自csv数据的Mysql更新命令
我在兜圈子,请有人帮我解决这个相对容易的问题 我有一张1200人的桌子。 表db_user_accounts中的一个字段是“status” 我有一个csv中的用户子列表,我想将“状态”设置为“5” csv是已订购的用户状态 我发现这个-来自csv数据的Mysql更新命令,mysql,Mysql,我在兜圈子,请有人帮我解决这个相对容易的问题 我有一张1200人的桌子。 表db_user_accounts中的一个字段是“status” 我有一个csv中的用户子列表,我想将“状态”设置为“5” csv是已订购的用户状态 我发现这个- <?php if (($handle = fopen("input.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALS
<?php
if (($handle = fopen("input.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
mysql_query(UPDATE db-user_accounts SET status="{$data[1]}" WHERE user = "{$data[0]}");
}
fclose($handle);
}
?>
我不确定1000是做什么用的,也不确定这是否真的有效。
非常感谢您的建议
谢谢这段代码看起来不错,应该可以用。1000是PHP手册中的行长度(引用如下): 参考: 必须大于要在中找到的最长行(以字符为单位) CSV文件(允许尾随行结束字符)。否则,, 行被拆分为长度字符块,除非拆分 将发生在外壳内 省略此参数(或在PHP5.1.0及更高版本中将其设置为0) 最大线长度不受限制,稍慢一些 您的代码所做的是:
,
是分隔符$data
将包含从当前行读取的值,即它将保存用户帐户id和状态此外,您正在使用MySQL函数,这些函数现在已被删除。使用或。这是使用手册。代码看起来并不是不合理的。谢谢你的建议和解释。我想我做错了。我有两个表,表a有'status'和表b有'f22',如果f22=0,我想将表a的status更新为'5',它们都有user_id-我已经读到,我可以不用连接表就可以这样做,但是不能让它在循环中工作,根据user_id查询
表b
,并获得f22的值,如果f22的值是0,然后在表a
上运行查询,将该用户id的状态更新为5。你需要这方面的示例代码吗?