0

我正在开发一个不适合多租户的应用程序。所以我的计划是为每个客户帐户创建不同的 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));
4

1 回答 1

1

我注意到你说你正在使用 cPanel。检查 phpMyAdmin 以查看您是否可以创建用户。如果选项卡可用,那么您的代码应该可以按预期工作。如果您没有看到,那么您可以在 phpMyAdmin config.inc.php 文件中检查您的配置选项。我不确定问题是否出在 cPanel 或 phpMyAdmin 上。至于您的代码,它在 Windows 上运行的 XAMPP 上 100% 运行,因此问题出在其他地方。对不起,我无法给出明确的答案!

于 2013-01-06T01:35:09.287 回答