我正在开发一个多租户不适合的应用程序。所以我的计划是为每个客户帐户创建不同的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));
答案 0 :(得分:1)
我注意到你说你在使用cPanel。检查phpMyAdmin以查看是否可以创建用户。如果选项卡可用,那么您的代码应该按预期工作。如果您没有看到,那么您可以在phpMyAdmin config.inc.php文件中检查配置选项。我不确定问题是否存在cPanel或phpMyAdmin。至于你的代码,它在Windows上运行的XAMPP上100%工作,所以问题出在其他地方。对不起,我无法给出明确的答案!