Merhaba, PHP ile Multi Tenant proje geliştirecekseniz kendi yapınızı kurmanız sıkıntı olabilir. Her şey yolunda gitse bile Multi Tenant yapıda bir yazılımı Pure PHP ile geliştirmek bir yerden sonra eziyet olacaktır.

Son geliştirdiğim Multi Tenant projede Laravel framework'ünü kullandım. Kendi yapımı kursaydım iş içinden çıkılmaz bir hal alabilirdi, bu yüzden framework ile çalışmanızı öneririm.
Kullandığım paket;
https://tenancyforlaravel.com/

DB seçiminde göz önünde bulundurmanız gereken konular var. Birincisi Tenantlar kendi aralarında iletişimde bulunuyor mu? Bir Tenant başka tenant ile veri alışverişi yapıyor mu? Öyle ise çoklu db yapısını kullanmalı mıyım diye iki kere düşünün. Ayrıca Çoklu DB yapısı yüksek devops sorununu yanında getirir.

Tek DB'de çalışmak isterseniz şöyle bir yol izleyebilirsiniz;

Laravel'de Scopes - Traits - Middleware kullanarak where('id', $tenant_id) gibi istediğiniz sorgunun sonuna tenant'a özelmiş gibi otomatik SQL cümlesi ekletebilirsiniz. Model'e eklediğiniz Tenant'a Ait gibi bir yapı ile her SQL cümlesine eklenir. Yazacağınız sorgunun model'i tenant'a ait ama siz süper admin'de bütün verileri mi göstermek istiyorsunuz? SQL sorgusuna withoutTenancy() ekleyerek o sorgu için Tenant yapısını devre dışı bırakabilirsiniz.

Bunu neden anlatıyorum? Adamlar paket yazmış, eksikleri görmüş, yıllarca geliştirmiş + dökümantasyonlu paylaşmış. Eğer ki siz bu tarz bir paket ile yazılımınızı geliştirirseniz ileride takıldığınız yerde size destek sağlayabilirım. Ama siz kendi yapınızı kurmaya çalışır ve hata alırsanız bol şans