如何通过Compute Engine VM上托管的php文件连接到Cloud SQL实例?
•我在Cloud SQL中有一个MySQL(第1代)实例,名为bd-sales
,还有一个名为sales
的数据库
•我有一个在Compute Engine中内置的Linux(Debian)VM
不好。:我想使用PDO建立连接
我尝试了这个,但是没有用:
<?php
function getConnection(){
try {
$connection = new PDO('mysql:host=999.999.999.99;dbname=sales', 'user', 'pass');
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $connection;
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
return;
}
}
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
?>
答案 0 :(得分:1)
我解决了问题,更改了连接字符串:
<?php
function getConnection(){
try { {GCSQL IPv4} {instance name} {Database name}
$connection = new PDO('mysql:host=999.999.999.99;unix_socket=/cloudsql/instance:bd-instance;charset=utf8;dbname=vendas', 'user', 'pass');
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $connection;
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
return;
}
}
header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json');
?>