2014-02-17 13 views
0

下面是我的PHP腳本,SQL連接的代碼,因爲它試圖連接到我的谷歌SQL雲數據庫需要幫助連接我的App Engine的PHP與我的谷歌雲SQL數據庫

<?php 

$con=mysqli_connect(":/cloudsql/projectID:google-cloud-instance","root","root","DATABASE"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Oops! Something Must Have Went Wrong?: " . mysqli_connect_error() 
;` 

但是當我處理的整體PHP腳本我得到以下錯誤:

"php_network_getaddresses: gethostbyname failed. errno=0Error:" 

我在這個初學者,所以如果有人可以幫助我..

  1. 瞭解這是什麼意思
  2. 我該如何解決?

在此先感謝您的幫助!

回答

3

您需要將雲SQL實例名稱作爲'socket'參數傳遞給MySQLi constructor。例如

$instance_name = ":/cloudsql/projectID:google-cloud-instance"; 
$c = new mysqli(null, $username, $password, $database, 0, $instance_name); 

,如果您使用的缺省auth(應用級身份驗證),那麼你可以通過根,沒有密碼進行連接。

$instance_name = ":/cloudsql/projectID:google-cloud-instance"; 
$c = new mysqli(null, "root", "", $database, 0, $instance_name); 
0

對於CloudSQL,建議您使用unix套接字。

如果您使用mysqli_connect,則可以在php.ini中指定默認套接字。

php.ini mysqli.default_socket= '/cloudsql/CONNECTION_NAME'

$分貝= mysqli_connect( '本地主機', '用戶', '密碼', 'DB');