マルチテナンシーが適さないアプリケーションを開発しています。したがって、私の計画は、クライアント アカウントごとに異なる 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));