如何使用PHP从Google Cloud SQL连接和检索数据?

时间:2018-05-14 23:57:26

标签: php mysql google-cloud-platform cloud google-cloud-sql

我能找到的唯一教程使用了不熟悉的替代资源,如app engine,composer,github,proxies,其他插件。

是不是可以使用纯PHP连接到它?

例如,在以下代码中,我需要修改以从Google Cloud SQL获取数据吗?

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}

mysqli_close($conn);
?>

1 个答案:

答案 0 :(得分:1)

Google App Engine通过代理从Google服务器内部连接到Cloud SQL实例,但 Cloud SQL实例只是一个托管的MySQL实例。因此,如果您只想从外部使用PHP代码连接而无需代理,那么您只需要在Cloud SQL实例中授权您的IP(此处:https://cloud.google.com/sql/docs/mysql/connect-external-app#appaccessIP)。

然后,您应修改代码以将“localhost”更改为您的Google Cloud SQL实例公共IP(具有正确的用户名,密码和dbname)。您可以在此处找到公共IP:http://console.cloud.google.com/sql/instances/

但是,如果您仍想浏览Google App Engine上的PHP,请检查该链接https://cloud.google.com/appengine/docs/standard/php/cloud-sql/using-cloud-sql-mysql