Я пытаюсь создать базу данных для каждого пользователя, который подписывается на мое веб-приложение. Эта база данных будет основана на шаблоне для хранения их данных.Создание баз данных с помощью Google Cloud SQL и PHP
Проблема, с которой я столкнулся, заключается в том, что Google Could SQL
, похоже, не создает базу данных через PHP
и MySQL
запросов.
Подключение к Instance отлично работает и не вызывает никаких ошибок на основе этого кода:
//CLOUD SQL CONNECTION FOR SUBSCRIPTIONS
$hostname = details;
$username = details;
$password = details;
$port = details;
$socket = details;
$connection = new mysqli($hostname, $username, $password, $port, $socket);
// Check Connection
if($connection->connect_error) {
trigger_error('Connection failed: ' . $connection->connect_error, E_USER_ERROR);
}
Однако, когда я иду, чтобы создать простую базу данных, mysqli
не может без ошибки ...:
//Create Database
$username = 'account';
$database = 'sub_'. $username .'_db';
$query = "CREATE DATABASE IF NOT EXISTS `{$database}`;";
if(mysqli_query($connection, $query)) {
echo "Database my_db created successfully";
} else {
echo "Error creating database: " . mysqli_error($connection);
}
Выход этого просто: Error creating database:
Я что-то упустил? Как создать database
в экземпляре Cloud SQL
через PHP
? Спасибо за любой вклад.
Может ли кто-нибудь подтвердить, что это действительно можно сделать на GAE PHP и Cloud SQL?
Возможно, у пользователя нет прав для создания БД. Вы пытались сделать это через соединение с экземпляром с клиентом MySQL? – Mario
Что произойдет, если вы запустите запрос, который не создает базу данных? Например, «SELECT 1;»? – David
То же самое происходит с 'SELECT 1;'. – Guy