2012-06-25 101 views
0

我剛開始使用PHP的mysqli API。顯然,每當MYSQLI類的對象被實例化時,它就可以在連接到服務器時建立與數據庫的連接,這與mysql_connect不同,後者首先連接到服務器,然後您需要指定要查詢的數據庫。使用MYSQLI混淆

現在這是一個很好的問題,如果數據庫存在,在我的情況下,數據庫不存在的第一次連接到服務器/執行問題,因此我必須連接,而不指定數據庫,這是好的,因爲msyqli的構造函數不會強制這個數據庫。

我的挑戰本質上是如何在嘗試第一次連接之前檢查數據庫是否存在。要真正做到這一點的唯一方法是建立一個連接如到服務器,然後使用以下查詢的結果來衡量數據庫是否存在:

SELECT COUNT(*) AS `exists` FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMATA.SCHEMA_NAME="dbname" ; 

如果返回true,則數據庫存在,但現在的挑戰是如何讓mysqli對象查詢此數據庫,而不必在查詢中爲數據庫的名稱加前綴。

感謝很多

回答