我将如何去使用PHP代码从csv文件中的信息填充数据库?我需要使用PHP进行数据库调用的做法,但在那一刻,我所有访问是这样的csv文件...从csv文件使用php填充数据库
回答
使用内置的PHP函数读取CSV并写入输出文件。然后你可以将SQL导入你的数据库。这应该适用于任何类型的数据库。
不要忘记逃避你正在使用的任何字符串。在这个例子中我使用了sqlite_escape_string()来达到这个目的。
$fd = fopen("mydata.csv", "r");
$fdout = fopen("importscript.sql","w");
while(!feof($fd))
{
$line = fgetcsv($fd, 1024); // Read a line of CSV
fwrite($fdout,'INSERT INTO mytable (id,name)'
.'VALUES ('.intval($line[0]).",'".sqlite_escape_string($line[1])."');\r\n";
}
fclose($fdout);
fclose($fd);
你能解释一下sqlite函数的作用吗?我做了一个关于它的搜索,但我仍然不完全确定...以及线路[0]和线路[1]上的内容是什么? – user1015214
sqlite_escape_string会对您的字符串进行清理,因此如果它包含引号,它就不会破坏您的查询。 –
$ line [0]和$ line [1]从CSV行中提取第一个和第二个单元格。 –
设计注意事项: 你可能不希望使用的file_get_contents一样的功能,一次将整个文件加载到内存中。对于大文件,这将消耗所有可用内存并导致问题。相反,像亚当所说的那样,一次只读一行。
//Here's how you would start your database connection
mysql_connect($serverName, $username, $password);
mysql_select_db('yourDBName');
//open the file as read-only
$file = fopen("file.csv", "r");
// lineLength is unlimited when set to 0
// comma delimited
while($data = fgetcsv($file, $lineLength = 0, $delimiter = ",")) {
//You should sanitize your inputs first, using a function like addslashes
$success = mysql_query("INSERT INTO fileTable VALUES(".$data[0].",".$data[1].")");
if(!$success) {
throw new Exception('failed to insert!');
}
}
- 1. 从CSV文件填充Android数据库?
- 2. 使用.csv文件数据填充IndexedDB
- 3. 从CSV文件填充数据集
- 4. 使用CSV文件填充Mysql数据库的存储过程
- 5. 填充数据库从CSV IEnumerable的对象文件
- 6. Postgresql - 从Excel文件填充数据库
- 7. 从数据库填充和自动填充文本框使用AJAX,PHP
- 8. 如何使用jasperETL从CSV文件中填充星型模式数据库?
- 9. 使用php将数据从数据库导出到csv文件
- 10. 使用ftp服务器CSV数据填充MySql数据库
- 11. 从数据库使用javascript填充gridview
- 12. 从.txt文件提取数据以使用powershell填充.csv文件
- 13. 使用C#用CSV文件填充DataGridView,并用结果更新Access数据库
- 14. 将csv填充到数据库中
- 15. 使用python从另一个.csv填充一个.csv文件
- 16. 从数据库列填充DropDownList,使用DropDownList值来填充表?
- 17. 使用JSP + AJAX从数据库填充jQuery UI自动填充
- 18. 解析csv文件来填充数据库
- 19. 导入csv文件数据以填充Prolog知识库
- 20. 从CSV数据填充二维数组
- 21. D3.js使用csv文件中的数据填充svg地图
- 22. 使用CSV文件中的数据填充TableView
- 23. 使用python填充CSV文件
- 24. 用PHP从Mysql数据库填充文本字段
- 25. 从数据库填充表
- 26. 从数据库填充UITableView
- 27. 填充IAuthSession从数据库
- 28. 从数据库填充类
- 29. 从数据库填充DropDownList
- 30. 填充从数据库
['LOAD DATE INFILE'](http://dev.mysql.com/doc/refman/5.0/en/load-data.html)使用MySQL? –
fgetcsv()是一个好开始 – 2011-10-31 01:31:51