我是使用Google Cloud SQL
和PHP
的新手。我无法使用Cloud SQL Instance
连接到我的mysqli_connect
。我已经在网上进行了大量研究,但仍然无法连接。我已经在test.php
中声明了变量,但是我不知道如何使用它们。请帮助
我正在尝试创建一个android app
,在这里我必须显示数据库中的数据。我正在使用将php
个文件存储在云存储中的方法,我的应用程序会向GET
个文件和POST
发送php
或php
请求文件将从数据库返回数据。那么如何仅使用php
连接数据库?
test.php:
<?php
$public_ip_address = "xx.xxx.xxx.xxx"; // Public IP address of the Instance of Google Cloud SQL
$user = "root";
$password = "";
$instance = "instance_1";
$database = "db1";
$conn = mysqli_connect("cloudipad:" + $public_ip_address, $user, $password, $database);
?>
Someone help meeeeeeeeeeeeeeeeeeeeeeeeeeeeeee :(
答案 0 :(得分:0)
class Sql implements DataModelInterface
{
private $dsn;
private $user;
private $password;
public function __construct($dsn, $user, $password)
{
$this->dsn = $dsn;
$this->user = $user;
$this->password = $password;
}
private function newConnection()
{
$pdo = new PDO($this->dsn, $this->user, $this->password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
}
答案 1 :(得分:0)
根据mysqli_connect的官方文档,您错误地传递了第一个参数。
是的,您可以使用MySQLi连接到Cloud SQL实例。如果在本地,则应使用documentation之后的Cloud SQL代理。
一旦您侦听了Cloud SQL代理,并将代码段的最后一行更改为:
$conn = mysqli_connect('127.0.0.1', $user, $password, $database);
您应该成功连接。
答案 2 :(得分:0)
mysqli_connect对我来说很好,可以将在Google Cloud App Engine上运行的PHP应用程序连接到Cloud SQL ...
// DMBS here means database management system, like Cloud SQL
define('HOSTSPEC', NULL);
define('USERNAME', '[MY_DBMS_USERNAME]');
define('PASSWORD', '[MY_DBMS_PASSWORD]');
define('DATABASE_INSTANCE_NAME', NULL); // Or the name of a database instance within your Cloud SQL instance.
define('PORT', NULL);
define('SOCKET', '/cloudsql/[GOOGLE_CLOUD_PROJECT_NAME]:[GOOGLE_CLOUD_REGION]:[CLOUD_SQL_DBMS_INSTANCE_NAME]');
// Option 1. Object-oriented style...
$mysqli = new mysqli(HOSTSPEC, USERNAME, PASSWORD, DATABASE_INSTANCE_NAME, PORT, SOCKET);
// Option 2. Procedural style...
$DBMSresource = mysqli_connect(HOSTSPEC, USERNAME, PASSWORD, DATABASE_INSTANCE_NAME, PORT, SOCKET);
if (!$DBMSresource)
// log and handle error, maybe exit...
答案 3 :(得分:-1)
我认为您无法通过mysqli连接到Google Cloud。改用他们的APi。
请参阅: