prepare($query); self::$lastStatus = self::$stm->execute($bindings); return self::$stm; } /** * Run a sql query * * @param string $query * @return bool */ public static function unprepared($query) { self::$stm = self::$db->query($query); self::$lastStatus = (self::$stm instanceof PDOStatement); return self::$lastStatus; } /** * Run a select query * * @param string $query * @param array $bindings * @return array */ public static function select($query, array $bindings = []) { self::query($query, $bindings); return self::$stm->fetchAll(PDO::FETCH_ASSOC); } /** * Run an insert query * * @param string $query * @param array $bindings * @return int Row count */ public static function insert($query, array $bindings = []) { self::query($query, $bindings); return self::$stm->rowCount(); } /** * Run an update query * * @param string $query * @param array $bindings * @return int */ public static function update($query, array $bindings = []) { self::query($query, $bindings); return self::$stm->rowCount(); } /** * Run a delete query * * @param string $query * @param array $bindings * @return int|bool */ public static function delete($query, array $bindings = []) { self::query($query, $bindings); return (self::$lastStatus ? self::$stm->rowCount() : false); } /** * Run a single statement * * @param string $query * @param array $bindings * @return bool */ public static function statement($query, array $bindings = []) { self::query($query, $bindings); return self::$lastStatus; } /** * Returns the last error * * @return array */ public static function getError() { if (!self::$stm instanceof PDOStatement) { return [-1, null, null]; } return self::$stm->errorInfo(); } /** * Get the PDO instance * * @return PDO */ public static function getPdo() { return self::$db; } /** * @return PDOStatement|false|null */ public static function getStm() { return self::$stm; } }