Exemple #1
0
 public function insertRow($table, $data)
 {
     try {
         $data["modified"] = date("Y-m-d H:i:s");
         if (isset($data["id"])) {
             // UPDATE
             $query = "";
             foreach (array_keys($data) as $key) {
                 if ($key == "id") {
                     continue;
                 }
                 if (!empty($query)) {
                     $query .= ", ";
                 }
                 $query .= "{$key} = :{$key}";
             }
             $query = "UPDATE {$table} SET {$query} WHERE id = :id";
             $stmt = $this->db->prepare($query);
             foreach (array_keys($data) as $key) {
                 $stmt->bindParam(":{$key}", ${$key});
             }
             extract($data);
             $stmt->execute();
             return $data["id"];
         } else {
             // INSERT
             $query = "INSERT INTO {$table} (" . implode(", ", array_keys($data)) . ") VALUES (";
             $i = 0;
             foreach (array_keys($data) as $key) {
                 if ($i++ > 0) {
                     $query .= ", ";
                 }
                 $query .= ":{$key}";
             }
             $query .= ")";
             $stmt = $this->db->prepare($query);
             foreach (array_keys($data) as $key) {
                 $stmt->bindParam(":{$key}", ${$key});
             }
             extract($data);
             $stmt->execute();
             return $this->db->lastInsertId();
         }
     } catch (Exception $e) {
         var_dump($e->getMessage());
     }
 }
Exemple #2
0
 /**
  * 获取insertID
  *
  * @return int
  */
 public function insertID()
 {
     switch (DBManager::workingMode()) {
         case DBManager::MODE_PDO:
             return $this->_link->lastInsertId();
         case DBManager::MODE_SQLI:
             return $this->_link->insert_id;
         case DBManager::MODE_SQL:
             return mysql_insert_id($this->_link);
         default:
             return 0;
     }
 }