【发布时间】:2014-11-21 05:33:59
【问题描述】:
我正在尝试为每个注册我的网络应用程序的用户创建一个数据库。这个数据库将基于一个模板来存储他们的数据。
我遇到的问题是Google Could SQL 似乎没有通过PHP 和MySQL 查询创建数据库。
连接到实例工作正常并且基于此代码不会触发错误:
//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:
我错过了什么吗?如何通过PHP 在Cloud SQL 实例中创建database?感谢您的任何意见。
谁能确认这实际上可以在 GAE PHP 和 Cloud SQL 上完成?
【问题讨论】:
-
可能用户没有创建数据库的权限。您是否尝试过使用 MySQL 客户端连接到实例?
-
如果您运行一个不创建数据库的查询会发生什么?例如“SELECT 1;”?
-
SELECT 1;也会发生同样的事情。
标签: php sql google-app-engine mysqli google-cloud-sql