Может ли класс расширять как интерфейс, так и другой класс в PHP? 
  В основном я хочу это сделать: 
interface databaseInterface{ public function query($q); public function escape($s); //more methods } class database{ //extends both mysqli and implements databaseInterface //etc. } 
Как это сделать, просто делая:
 class database implements databaseInterface extends mysqli{ 
приводит к фатальной ошибке:
 Ошибка анализа: синтаксическая ошибка, неожиданный T_EXTENDS, ожидающий '{' in * file * on line * line *
        
    Попробуйте это наоборот:
 class database extends mysqli implements databaseInterface { ...} 
Это должно сработать.
Да, оно может. Вам просто нужно сохранить правильный порядок.
 class database extends mysqli implements databaseInterface { ... } 
Кроме того, класс может реализовывать более одного интерфейса. Просто разделите их запятыми.
Тем не менее, я чувствую себя обязанным предупредить вас, что расширение класса mysqli – невероятно плохая идея . Наследование как таковое, вероятно, является самой переоцененной и неправильно используемой концепцией в объектно-ориентированном программировании.
Вместо этого я бы посоветовал использовать db-связанные вещи методом mysqli (или способом PDO).
  Плюс, второстепенное, но соглашения об именах имеют значение.  Ваша database классов выглядит более общей, чем mysqli , поэтому она предполагает, что последняя наследует database а не наоборот. 
да, на самом деле, если вы хотите реализовать несколько интерфейсов, вы можете сделать вот так:
 public class MyClass extends BaseClass implements myInterface1, myInterface2, myInterface3{ }