public function getRank($column, $value) { if (!isset($this->_additional_where)) { return parent::getRank($column, $value); } $column = self::$mysqli_connection->real_escape_string($column); $value = self::$mysqli_connection->real_escape_string($value); $query = "SELECT count(*) as rank" . " FROM {$this->table_name} WHERE {$this->row_score} > " . "( SELECT {$this->row_score} FROM {$this->table_name} WHERE `" . $column . "` = ? ) AND " . $this->_additional_where; if ($stmt = self::$mysqli_connection->prepare($query)) { $stmt->bind_param("s", $value); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); return $row['rank'] + 1; } else { throw new Exception("Query failed: (" . self::$mysqli_connection->errno . ") " . self::$mysqli_connection->error); } }