visuddhinanda 2 vuotta sitten
vanhempi
sitoutus
15ad6c7882
3 muutettua tiedostoa jossa 96 lisäystä ja 0 poistoa
  1. 27 0
      rpc/tulip/tulip/dict_update.php
  2. 17 0
      rpc/tulip/tulip/logger.php
  3. 52 0
      rpc/tulip/tulip/pdo.php

+ 27 - 0
rpc/tulip/tulip/dict_update.php

@@ -0,0 +1,27 @@
+<?php
+
+require dirname(__FILE__) . '/vendor/autoload.php';
+require dirname(__FILE__) . '/config.php';
+require dirname(__FILE__) . '/pdo.php';
+require dirname(__FILE__) . '/logger.php';
+
+
+$PDO = new PdoHelper;
+
+$PDO->connectDb();
+
+$query = "UPDATE fts_texts SET content = content,
+bold_single = bold_single,
+bold_double = bold_double,
+bold_multiple = bold_multiple
+WHERE book = ?;";
+
+for ($i=1; $i < 218; $i++) { 
+    $ok = $PDO->execute($query,[$i]);
+    if($ok){
+        logger('debug','book: '.$i. ' updated.');
+    }else{
+        logger('error','error book: '.$i. ' update fail.');
+    }
+}
+logger('debug','all done');

+ 17 - 0
rpc/tulip/tulip/logger.php

@@ -0,0 +1,17 @@
+<?php
+
+function logger($level,$message){
+    $output = "[\033[32m".date("Y/m/d h:i:sa") ."\033[0m] ";
+    if($level === 'error'){
+        $output .= "\033[41m" . $level . "\033[0m ";
+    }else{
+        $output .= $level;
+    }
+    
+    $output .= ' ' . $message.PHP_EOL;
+    if($level === 'error'){
+        fwrite(STDERR,$output);
+    }else{
+        fwrite(STDOUT,$output);
+    }
+}

+ 52 - 0
rpc/tulip/tulip/pdo.php

@@ -0,0 +1,52 @@
+<?php
+
+class PdoHelper {
+    private $_pdo = null;
+    public function connectDb(){
+        /**
+         * 连接数据库
+         */
+        $db = Config['database']['driver'];
+        $db .= ":host=".Config['database']['host'];
+        $db .= ";port=".Config['database']['port'];
+        $db .= ";dbname=".Config['database']['name'];
+        $db .= ";user=".Config['database']['user'];
+        $db .= ";password=".Config['database']['password'].";";
+        echo 'connect to db host='.Config['database']['host'] . ' name='.Config['database']['name'].PHP_EOL;
+        try {
+            $PDO = new PDO($db,
+                        Config['database']['user'],
+                        Config['database']['password'],
+                        array(PDO::ATTR_PERSISTENT=>true));
+        }catch(PDOException $e) {
+            echo 'connect to db fail'.PHP_EOL;
+            print $e->getMessage();
+            return false;
+        }
+        $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+        $this->_pdo = $PDO;
+    }
+    public function dbSelect($query, $params=null)
+    {
+        if($this->_pdo === null){
+            return false;
+        }
+        if (isset($params)) {
+            $stmt = $this->_pdo->prepare($query);
+            $stmt->execute($params);
+        } else {
+            $stmt = $this->_pdo->query($query);
+        }
+        return $stmt->fetchAll(PDO::FETCH_ASSOC);
+    }
+    public function execute($query, $params=null)
+    {
+        if (isset($params)) {
+            $stmt = $this->_pdo->prepare($query);
+            $stmt->execute($params);
+            return $stmt;
+        } else {
+            return $this->_pdo->query($query);
+        }
+    }
+}