db_update_cs6_para.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. require_once "../public/_pdo.php";
  3. require_once "../path.php";
  4. $db_file = _FILE_DB_PALITEXT_;
  5. PDO_Connect("$db_file");
  6. $query = "SELECT * from books where 1";
  7. $books = PDO_FetchAll($query);
  8. $db_file = _FILE_DB_PAGE_INDEX_;
  9. PDO_Connect("$db_file");
  10. // 打开文件并读取数据
  11. $irow = 0;
  12. if (($fp = fopen("./cs6_para.csv", "r")) !== false) {
  13. // 开始一个事务,关闭自动提交
  14. $PDO->beginTransaction();
  15. $query = "INSERT INTO cs6_para ('book','para','bookid','cspara','book_name') VALUES ( ? , ? , ? , ? , ? )";
  16. $stmt = $PDO->prepare($query);
  17. // 提交更改
  18. try {
  19. while (($data = fgetcsv($fp, 0, ',')) !== false) {
  20. $irow++;
  21. if ($irow > 1) {
  22. $book_id = 0;
  23. foreach ($books as $key => $value) {
  24. # code...
  25. if ($value["book"] == $data[0] && $data[1] >= $value["paragraph"]) {
  26. $book_id = $value["id"];
  27. break;
  28. }
  29. }
  30. if ($data[3] == $data[4]) {
  31. $stmt->execute(array($data[0], $data[1], $book_id, $data[3], $data[2]));
  32. } else {
  33. $begin = (int) $data[3];
  34. $end = (int) $data[4];
  35. $arr1 = array();
  36. for ($i = $begin; $i <= $end; $i++) {
  37. $arr1[] = $i;
  38. }
  39. foreach ($arr1 as $key => $value) {
  40. $stmt->execute(array($data[0], $data[1], $book_id, $value, $data[2]));
  41. }
  42. }
  43. }
  44. }
  45. $PDO->commit();
  46. } catch (Exception $e) {
  47. var_dump($e);
  48. $PDO->rollback();
  49. }
  50. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  51. $error = PDO_ErrorInfo();
  52. echo "error - $error[2] \n";
  53. } else {
  54. echo "updata recorders.\n";
  55. }
  56. fclose($fp);
  57. } else {
  58. echo "can not open csv file. cs6_para.csv";
  59. }
  60. echo "齐活!功德无量!all done!";