O melhor nesse caso seria usar o PDO... então eu indico a você escolher algum ORM que seja escrito sobre o PDO assim você continua usando o Spaghetti para as camadas de Controller e View da tua aplicação e delega as entidades da camada Model para serem criadas com um ORM que suporte o que você precisa.
Em ultimo caso você poderá usar o PDO puro para criar suas entidades e fazer toda a parada manualmente mas eu sinceramente desaconselho essa pratica porque alem de ter um puta trabalho existem bons, altamente testados e robustos frameworks que fazem este trabalho de forma muitoo simples.