2013-01-06 147 views
0

我正在開發一個多租戶不適用的應用程序。所以我的計劃是爲每個客戶帳戶創建不同的MySQL數據庫和用戶。我有問題,如果你能看到我的代碼有什麼問題,那將會很棒 - 我沒有收到任何錯誤,但是數據庫/用戶沒有被添加PHP - 創建MySQL數據庫和用戶代碼不起作用

$dsn = "mysql:host=localhost"; 
$pdo = new PDO($dsn,"REMOVED","REMOVED"); // I removed the login. 

$username = 'testing'; 
$password = 'password'; 
$dbname = 'test_table'; 

//Creation of user 
$STH = $pdo->prepare("CREATE USER `:username` @'%' IDENTIFIED BY `:password`;"); 
$STH->execute(array(':username' => $username, ':password' => $password)); 

//Creation of database "new_db" 
$STH = $pdo->prepare("CREATE DATABASE `:dbname`;"); 
$STH->execute(array(':dbname' => $dbname)); 

//Adding all privileges on our newly created database 
$STH = $pdo->prepare("GRANT ALL PRIVILEGES on `:dbname`.* TO `:username`@'%';"); 
$STH->execute(array(':dbname' => $dbname,':username' => $username)); 
+1

您的「已刪除」用戶是否擁有CREATE USER,CREATE DATABASE,GRANT操作的權限? – kirugan

+0

我使用的是cPanel創建的用戶,我確信這個用戶有權限。 – cantaffordretail

+0

我在代碼片段中看不到錯誤測試/處理代碼,您確定它正確執行其職責嗎? – fvu

回答

1

我注意到你說過你在使用cPanel。檢查phpMyAdmin以查看是否可以創建用戶。如果選項卡可用,則代碼應按預期工作。如果你沒有看到是否可以在phpMyAdmin config.inc.php文件中檢查你的配置選項。我不確定問題是否存在於cPanel或phpMyAdmin中。至於你的代碼,它可以在Windows上運行的XAMPP上運行100%,所以問題在於別處。對不起,我無法給出明確的答案!

+0

感謝您讓我知道代碼的作品!我將開始檢查權限問題。 – cantaffordretail

相關問題