2017-11-03 8 views
-1

私はウェブ開発でかなり新しいです。私は現在、ユーザーが情報を提出してデータベースに保存することを許可するWebサイトを作成しようとしています。ドメイン名とホスティングにGoDaddyがあり、Google Cloud Platformをクラウドデータベースストレージに使用しています。Cloud MySQLインスタンスに接続する

HTML形式のデータをローカルデータベース(PhpMyAdmin)に保存する方法を知りました。また、MySQL Workbenchを使用してGoogle Cloudインスタンスと別のローカルデータベースを正常に接続しました。

接続されたすべてを取得する方法を理解できません。 Google CloudインスタンスとGoDaddyを接続する必要はありますか?私はちょうどGoDaddyのデータベース製品を使うべきですか?私はGoDaddyにアップロードした私のPHP接続コードに自分のインスタンスのIPv4アドレスを 'ホスト名'として入れようとしましたが、接続していないため、理由がわかりません。これがあなたがしなければならないことがわかっていても私は知らないのですか?

特定のIPアドレスに情報を格納する権限を許可する必要があるということについては読んだことがありますが、現実世界のように私には意味をなさないので、単にウェブサイトにアクセスして、その会社のどこかのリモートデータベースに送信されます。それが私のウェブサイトで達成しようとしていることです。ありがとうございました。

PS:PHPをサーバー側の言語として使用しています。ここで

答えて

0

は、Google Cloud SQLインスタンスへの接続に使用できる一般的な機能である:

function connectSQL($dbProject, $dbRegion, $dbInstance, $dbIP, $dbName, $dbUsername, $dbPassword, $ssl = TRUE, $persistent = FALSE, $appEngine = FALSE) { 
    // $dbProject is the project that owns the database, which may differ from the project using the database 

    // Create a connection 
    $db = NULL; 
    if ($appEngine) { 
    // Connect from App Engine 
    if ($persistent) { 
     try { 
     $db = new pdo("mysql:unix_socket=/cloudsql/$dbProject:$dbRegion:$dbInstance;dbname=$dbName", $dbUsername, $dbPassword, array(PDO::ATTR_PERSISTENT => TRUE)); 
     } catch(PDOException $ex) { 
     echoArr($ex); 
     return FALSE; 
     } 
    } else { 
     try { 
     $db = new pdo("mysql:unix_socket=/cloudsql/$dbProject:$dbRegion:$dbInstance;dbname=$dbName", $dbUsername, $dbPassword); 
     } catch(PDOException $ex) { 
     echoArr($ex); 
     return FALSE; 
     } 
    } 
    } else { 
    // Connect from a non-App Engine environment (localhost, other hosting, etc.) 
    if ($persistent) { 
     if (!$ssl) { 
     try{ 
      $db = new pdo('mysql:host='.$dbIP.':3306;dbname='.$dbName, $dbUsername, $dbPassword, array(PDO::ATTR_PERSISTENT => TRUE)); 
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } catch(PDOException $ex) { 
      echoArr($ex); 
      return FALSE; 
     } 
     } else { 
     try{ 
      $db = new pdo('mysql:host='.$dbIP.':3306;dbname='.$dbName, $dbUsername, $dbPassword, array(
       PDO::MYSQL_ATTR_SSL_KEY=>'/path/to/client-key.pem', 
       PDO::MYSQL_ATTR_SSL_CERT=>'/path/to/client-cert.pem', 
       PDO::MYSQL_ATTR_SSL_CA=>'/path/to/server-ca.pem', 
       PDO::ATTR_PERSISTENT => TRUE 
      ) 
     ); 
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } catch(PDOException $ex) { 
      echoArr($ex); 
      return FALSE; 
     } 
     } 
    } else { 
     if (!$ssl) { 
     try{ 
      $db = new pdo('mysql:host='.$dbIP.':3306;dbname='.$dbName, $dbUsername, $dbPassword); 
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } catch(PDOException $ex) { 
      echoArr($ex); 
      return FALSE; 
     } 
     } else { 
     try{ 
      $db = new pdo('mysql:host='.$dbIP.':3306;dbname='.$dbName, $dbUsername, $dbPassword, array(
       PDO::MYSQL_ATTR_SSL_KEY=>'/path/to/client-key.pem', 
       PDO::MYSQL_ATTR_SSL_CERT=>'/path/to/client-cert.pem', 
       PDO::MYSQL_ATTR_SSL_CA=>'/path/to/server-ca.pem' 
      ) 
     ); 
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     } catch(PDOException $ex) { 
      echoArr($ex); 
      return FALSE; 
     } 
     } 
    } 
    } 

    return $db; 

} 

あなたは関係なく、あなたのスクリプトがホストされている場所のこれを使用することができます。

関連する問題