sql >> データベース >  >> RDS >> Mysql

phpはクラウド9のmysqldbに接続しますか?

    さて、上記の答えはどれもうまくいきませんでしたが、幸いなことに、データベースをセットアップして独自の方法で起動して実行することができました。クエリを作成して正常に実行できるようになったので、メソッドを共有します。インターネットを精査している他の人がこれに遭遇し、私が行ったのと同じ頭を悩ませる必要がないことを願っています。

    簡単な概要が必要な場合は、ステップ3までスクロールしてください。 そこから読んでください。完全な初心者の方は、詳しく説明しますので、読み続けてください。

    言及するカップルの事柄:

    • Cloud 9のターミナルを介してデータベースをセットアップする必要があります。これまでターミナルでデータベースをセットアップした経験はありませんでしたが、習得は非常に簡単です。
    • できません mysqlを使用する 関数の場合、 mysqliを使用する必要があります 、 mysql以降 関数は非推奨になり、Cloud9はそれらを実行しません。

    ステップ1 :MySQL on Cloud 9(ターミナル内)をセットアップする

    プロジェクトで、新しいターミナルを開きます(テキストエディタスペースの上にあるプラス記号タブをクリックし、[新しいターミナル]を選択します)。ターミナルで、 mysql-ctl startと入力します Enterキーを押します。 MySQLは後ろから起動しますが、ターミナルに応答は返されません。

    次に、 mysql-ctl cliと入力します Enterキーを押します。 Welcome to the MySQL monitor ...として始まるテキストが表示されるはずです。 。おめでとうございます。Cloud9プロジェクトでMySQLをセットアップしました。

    ステップ2 :テストデータベースを作成する(ターミナルで)

    必要に応じて、実際に公式データベースを作成することもできますが、このために、IDとユーザー名を保持するテーブルを保持するデータベースを作成します。したがって、データベースとテーブルを設定する手順は次のとおりです。以前にMySQLとデータベースを使用したことがある場合、これは簡単なことですが、MySQLを完全に理解していない可能性がある人のために詳しく説明します。

    1. SHOWDATABASES;」と入力します Enterキーを押します。これにより、プロジェクト内の現在のデータベースのリストが表示されます。現在のプロジェクトのデータベースのリストを表示したいときはいつでもこれを入力できます。
    2. CREATE DATABASE sample_db;と入力します Enterキーを押します。 Query OK、1Rowが影響を受けるはずです。 これは、クエリが成功したことを意味します。データベースには好きな名前を付けることができますが、この小さなウォークスルーでは、 sample_dbという名前を付けました。 。
    3. USE sample_db;と入力します Enterキーを押します。これにより、 sample_dbが選択されます データベースのリストから。
    4. CREATE TABLE users(id INT(11)、username VARCHAR(20));と入力します。 、Enterキーを押します。これにより、 usersという名前のテーブルが作成されます 2つの列: id およびusername 。括弧内の数字は、列がデータベースに格納する文字数の制限を表します。この場合、たとえば、 username 長さが20文字を超える文字列を保持しません。
    5. INSERT INTO users(id、username)VALUES(1、 "graham12");と入力します 、Enterキーを押します。これにより、 1のIDが追加されます およびユーザー名graham12 テーブルで。 id以降 列はINTです 、引用符は使用しません。
    6. SELECT * FROM users;と入力します 、Enterキーを押します。これにより、 usersにあるすべてのものが表示されます テーブル。そこにある唯一のエントリは、先ほど行った最後のステップから挿入したものでなければなりません。

    ステップ3 :PHPからデータベースに接続するために必要な資格情報を取得します。 (ターミナル内)

    これで、 mysqliをテストできるデータがテーブルにあります。 との接続。ただし、最初に、PHPでデータベースに接続するために必要な資格情報を取得する必要があります。 Cloud 9では、接続するために5つのクレデンシャルが必要です:

    1. ホスト名
    2. ユーザー名
    3. パスワード
    4. データベース名
    5. ポート番号

    ユーザー名、パスワード、データベース名、およびポート番号は、実際にはすでにわかっています。説明します:

    1. ホスト名 - SHOW VARIABLES WHERE Variable_name ='hostname';と入力します 、Enterキーを押します。 Variable_nameの2つの列を持つテーブルを取得します。 およびValue Value内 列には、 yourUsername-yourProjectName-XXXXXXXのようなものが表示されます。 、ここで X は7桁の数字です。この番号を書き留めるか、どこかに保存してください。これはあなたのホスト名です。 (このウォークスルーの概要がわかりやすい場合は、新しいターミナルを起動してmysqlを起動し、使用するデータベースを選択してから、 SHOW VARIABLES WHERE Variable_name ='hostname';> 。混乱している場合は、この手順を最初から読み直してください。)
    2. ユーザー名 -Cloud9へのログインに使用するユーザー名。
    3. パスワード -いいえがあります Cloud9のデータベースのパスワード。
    4. データベース名 -これはsample_dbになります またはデータベースに名前を付けたものは何でも;
    5. ポート番号 -は3306です 。 Cloud 9では、すべてのプロジェクトが 3306に接続されています 。これはCloud9の普遍的な定数です。それ以外のものにはなりません。整数のようにこれを書いてください。ではありません 文字列として。 mysqli_connect() ポート番号をlongとして解釈します データ型。

    最後のステップ :PHPでデータベースに接続してください! (PHPを使用)

    PHPファイルを開き、好きな名前を付けます。

    ホスト名がgraham12-sample_db-1234567のふりをします この例では、これが my データは次のようになります:

    • ホスト名: "graham12-sample_db-1234567"
    • ユーザー名: "graham12"
    • パスワード: ""
    • データベース名: "sample_db"
    • ポート番号:3306

    したがって、 PHP yourを挿入します それに応じたクレデンシャル:

    <?php
    
        //Connect to the database
        $host = "grahamsutt12-sample_db-1234567";   //See Step 3 about how to get host name
        $user = "grahamsutt12";                     //Your Cloud 9 username
        $pass = "";                                 //Remember, there is NO password!
        $db = "sample_db";                          //Your database name you want to connect to
        $port = 3306;                               //The port #. It is always 3306
    
        $connection = mysqli_connect($host, $user, $pass, $db, $port)or die(mysql_error());
    
    
    
        //And now to perform a simple query to make sure it's working
        $query = "SELECT * FROM users";
        $result = mysqli_query($connection, $query);
    
        while ($row = mysqli_fetch_assoc($result)) {
            echo "The ID is: " . $row['id'] . " and the Username is: " . $row['username'];
        }
    
    ?>
    

    結果が得られ、エラーが発生しない場合は、データベースが正常にセットアップされ、Cloud 9でPHPを使用してデータベースへの接続が形成されています。これで、通常実行できるすべてのクエリを実行できるようになります。

    注:簡単にするために、パラメーター化されたクエリを使用せずに最後の部分を示しました。実際のWebアプリケーションを操作するときは、常にパラメーター化されたクエリを使用する必要があります。詳細については、MySQLiプリペアドステートメント>



    1. スレッドが失われた場合にテーブルのロックを解除する

    2. PHPはバイナリツリーのダウンラインの数を計算します

    3. 1つの大きなテーブルと複数の小さなテーブルでのMySQLJOINのパフォーマンス

    4. Trunc()がPostgreSQLでどのように機能するか