$value) { if (is_null($value) || (is_string($value) && $value == '')) { $value = null; } $stmt->bindValue(":{$key}", $value, (is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR)); } } public function begin() { try { Connect::getInstance()->beginTransaction(); return 1; } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } public function commit() { try { Connect::getInstance()->commit(); return 1; } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } public function rollback() { try { Connect::getInstance()->rollBack(); return 1; } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } protected function create($query, $data) { try { $stmt = Connect::getInstance()->prepare($query); $this->strquery($stmt, $data); $stmt->execute(); return Connect::getInstance()->lastInsertId(); } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } protected function read($query, $data = null) { try { $stmt = Connect::getInstance()->prepare($query); $this->strquery($stmt, $data); $stmt->execute(); return $stmt; } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } protected function delete($query, $data) { try { $stmt = Connect::getInstance()->prepare($query); $this->strquery($stmt, $data); $stmt->execute(); return ($stmt->rowCount() ? 1 : 0); } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } protected function update($query, $data) { try { $stmt = Connect::getInstance()->prepare($query); $this->strquery($stmt, $data); $stmt->execute(); return ($stmt->rowCount() ? 1 : 0); } catch (PDOException $ex) { Connect::setInstance(null); logger('PDOExcep')->error('PDOException: ' . $ex->getMessage(), debug_backtrace()); return null; } } }