[英]PDO bulk import script
我正在尝试创建导入脚本,在遵循[一些过时且不安全的教程]之后,我有一个工作示例。但是,本教程不使用PDO。 尽管此表格仅由站点管理员使用,但我认为我应该使用PDO来防止SQL注入。 虽然我不确定如何更改PDO语句?
谢谢
(I already have my DB connection up here)
if ($_FILES['csv']['size'] > 0) {
//get the csv file
$file = $_FILES['csv']['tmp_name'];
$handle = fopen($file, "r");
do {
if ($data[0]) {
$sql = "INSERT INTO users_tbl (username, staff_id, dept, area) VALUES
('" . addslashes($data[0]) . "',
'" . addslashes($data[1]) . "',
'" . addslashes($data[2]) . "'
)
";
$result = pg_query($sql);
}
} while ($data = fgetcsv($handle, 1000, ",", "'"));
//redirect
header('Location: import.php?success=1');
die;
}
实际上,PDO和CSV之间没有多少联系。
每个PHP用户必须发展自己的能力来分离事务 。 您有两个任务:
这两个任务是完全无关的。 阅读csv后,您可能会在任何地方感到疼痛。 CSV部分将不会改变。 您可以在任何其他来源的PDO数据中存储-PDO代码不会稍作更改。
因此,您真正需要学习的就是如何使用PDO 。 好吧,这里您去https://stackoverflow.com/tags/pdo/info
另一种选择是使用LOAD DATA INFILE
查询,这种方式更适合于批量导入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.