簡體   English   中英

如何處理基於用戶的數據庫選擇?

[英]How to handle selecting a database based on the user?

我正在建立一個網站,它將有來自多家公司的多個用戶。 每個公司都將獲得具有相同表的相同數據庫的副本。 唯一的區別是數據庫名稱。 我希望每個用戶只能訪問分配給他們公司的數據庫。

我需要提出一種基於用戶登錄名選擇數據庫的方法。 使用用戶表中的會話變量作為數據庫名稱是否可以接受?...

$dbCon = new mysqli('localhost', 'root', '', $_SESSION['databaseName']);

也許是餅干? 還是我看錯了整個事情。 任何輸入都會很棒。 我還在學習。 謝謝

我的建議是選擇一個數據庫作為您的“登錄”數據庫,該數據庫具有表中的所有用戶帳戶。 然后,在要驗證其登錄名的用戶表中添加一列。 您可以在該列中存儲公司或“分配的數據庫名稱”。 身份驗證后,您可以關閉數據庫連接,並使用正確的已分配數據庫打開新連接。

您可以為用戶登錄使用以下架構

LoginTable :( (username,password,...,company_id)

公司(company_id,....,dbname)

因此,一旦用戶登錄,他就可以從公司表中選擇與公司ID相對應的數據庫。 該查詢可以由自然加入公司和LoginTable用一個命令編寫。因此,檢索dbname之后,可以將其存儲在會話變量中以備將來使用。

希望你能理解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM