2013-10-28 69 views
0

我想创建一个导入脚本,我有一个工作后的例子[一些过时和不安全的教程]但是本教程不使用PDO。虽然这种形式只能由网站主管使用,但我觉得我应该使用PDO来帮助防止SQL注入。虽然我不确定我会如何更改PDO语句?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; 
} 
+0

请更适合,不要链接到那个可怕的教程。 –

回答

0

由于事实上,没有PDO和CSV之间没有什么联系。

每个PHP用户必须发展自己的能力分开事项。有任务给你:

  1. 来读取一个CSV文件一行到阵列
  2. 存储在数据库中的阵列数据。

这两个任务是完全不相干的。在阅读csv后,你可能会在任何地方痛苦。而CSV部分不会被改变一点。您可以存储任何其他来源的PDO数据 - 并且PDO代码不会稍微改变。

所以,你所需要知道的其实是如何使用PDO。那么,在这里你去https://stackoverflow.com/tags/pdo/info

另一种办法是使用LOAD DATA INFILE查询,这是一种为散装进口