我需要一个PHP脚本来更新现有的MySQL表,从CSV中获取数据。需要更新表格字段hasweb
,比较字段consultant_id
。
所以MySql查询应该是
UPDATE user_data
SET hasweb="something"
WHERE consultant_id = "something";
请帮我编写一个PHP脚本,可以根据需要多次执行此查询,具体取决于CSV数据。
答案 0 :(得分:4)
我已经编写了很少的PHP脚本来完成这个任务,并且有很多方法可以解决它:
根据我的经验,最好使用PHP提供的CSV函数,看看fgetcsv(),因为手动打开文件并逐行读取并解析可能会导致并发症。
现在你只需遍历csv中的所有行并动态准备查询并执行它(例如(假设第0列有ID而第1列有“hasweb”)
<?php
if (($handle = fopen("input.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
mysql_query(UPDATE user_data SET hasweb="{$data[1]}" WHERE consultant_id = "{$data[0]}");
}
fclose($handle);
}
?>
希望有所帮助。如果仍然卡住,请问我:)
答案 1 :(得分:1)
你可以使用php函数fgetcsv。
您可以使用此功能将CSV文件中的所有数据导入php。 例如,
$row = 1;
if (($handle = fopen("your_file.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
$SQL = 'UPDATE table_name SET col1=val1 WHERE con1';
execute($SQL);
}
}
fclose($handle);
}
答案 2 :(得分:1)