true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); if (strstr($filename, ".", true) === strstr($dbname, ".", true)) { //建立数据库 $_sql = file_get_contents('rich_dict.sql'); $_arr = explode(';', $_sql); //执行sql语句 foreach ($_arr as $_value) { $dbh->query($_value . ';'); } echo $dns . "建立数据库成功
"; } //$query = "DELETE from dict where 1"; //$dbh->query($query); // 开始一个事务,关闭自动提交 $dbh->beginTransaction(); $query = "INSERT INTO dict ('id','pali', 'type', 'gramma', 'parent', 'mean', 'note', 'parts', 'partmean', 'status', 'confidence', 'len', 'dict_name', 'lang') VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; $stmt = $dbh->prepare($query); $count = 0; // 打开文件并读取数据 if (($fp = fopen($csvfile, "r")) !== false) { echo "正在处理 {$csvfile}
"; while (($data = fgetcsv($fp, 0, ',')) !== false) { //id,wid,book,paragraph,word,real,type,gramma,mean,note,part,partmean,bmc,bmt,un,style,vri,sya,si,ka,pi,pa,kam try { //code... $stmt->execute($data); } catch (Throwable $e) { //throw $th; echo "幺蛾子数据在第{$count}行
"; echo "Captured Throwable: " . $e->getMessage() . PHP_EOL; } $count++; } fclose($fp); echo "单词表load
"; } else { echo "can not open csv file. "; } // 提交更改 $dbh->commit(); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = $dbh->errorInfo(); echo "error - $error[2]
"; } else { echo "updata $count recorders."; } $dbh = null; break; case "thin": echo "doing filename: $filename dbname: $dbname
"; $sDescDbFile = _DIR_DICT_SYSTEM_ . "/" . $dbname; $csvfile = _DIR_DICT_TEXT_ . "/thin/{$filename}"; $dns = "sqlite:" . $sDescDbFile; $dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // 开始一个事务,关闭自动提交 $dbh->beginTransaction(); if ($dbname === "ref.db") { if ($table === "dict") { $query = "INSERT INTO dict ('id','language', 'dict_id', 'eword', 'word', 'paliword', 'mean', 'length', 'status') VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? )"; } else if ($table === "info") { $query = "INSERT INTO info ('language' , 'id' , 'shortname' , 'name') VALUES ( ? , ? , ? , ? )"; } else { echo "table name unkow."; } } else if ($dbname === "ref1.db") { $query = "INSERT INTO dict ('id','eword', 'word', 'length', 'count') VALUES ( ? , ? , ? , ? , ? )"; } else { echo "db name $dbname unkow."; } $stmt = $dbh->prepare($query); $count = 0; // 打开文件并读取数据 if (($fp = fopen($csvfile, "r")) !== false) { while (($data = fgetcsv($fp, 0, ',')) !== false) { $stmt->execute($data); $count++; } fclose($fp); echo "单词表load
"; } else { echo "can not open csv file. "; } // 提交更改 $dbh->commit(); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = $dbh->errorInfo(); echo "error - $error[2]
"; } else { echo "updata $count recorders."; } $dbh = null; break; case "part": $dns = "" . _FILE_DB_PART_; $dbh = new PDO($dns, "", "", array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); //建立数据库 $_sql = file_get_contents('part.sql'); $_arr = explode(';', $_sql); //执行sql语句 foreach ($_arr as $_value) { $dbh->query($_value . ';'); } echo $dns . "建立数据库成功
"; // 开始一个事务,关闭自动提交 $dbh->beginTransaction(); $query = "INSERT INTO part ('word','weight') VALUES ( ?, ? )"; $stmt = $dbh->prepare($query); $count = 0; // 打开文件并读取数据 if (($fp = fopen(_DIR_DICT_TEXT_ . "/system/part.csv", "r")) !== false) { while (($data = fgetcsv($fp, 0, ',')) !== false) { $stmt->execute($data); $count++; } fclose($fp); echo "part load "; } else { echo "can not open csv file. "; } // 提交更改 $dbh->commit(); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = $dbh->errorInfo(); echo "error - $error[2]
"; } else { echo "updata $count recorders."; } $dbh = null; break; }