PHP - 创建MySQL数据库和用户代码无法正常工作

时间:2013-01-06 01:19:05

标签: php mysql

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

答案 0 :(得分:1)

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