さて、上記の答えはどれもうまくいきませんでしたが、幸いなことに、データベースをセットアップして独自の方法で起動して実行することができました。クエリを作成して正常に実行できるようになったので、メソッドを共有します。インターネットを精査している他の人がこれに遭遇し、私が行ったのと同じ頭を悩ませる必要がないことを願っています。
簡単な概要が必要な場合は、ステップ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を完全に理解していない可能性がある人のために詳しく説明します。
- 「
SHOWDATABASES;
」と入力します Enterキーを押します。これにより、プロジェクト内の現在のデータベースのリストが表示されます。現在のプロジェクトのデータベースのリストを表示したいときはいつでもこれを入力できます。 -
CREATE DATABASE sample_db;
と入力します Enterキーを押します。Query OK、1Rowが影響を受けるはずです。
これは、クエリが成功したことを意味します。データベースには好きな名前を付けることができますが、この小さなウォークスルーでは、sample_db
という名前を付けました。 。 -
USE sample_db;
と入力します Enterキーを押します。これにより、sample_db
が選択されます データベースのリストから。 -
CREATE TABLE users(id INT(11)、username VARCHAR(20));
と入力します。 、Enterキーを押します。これにより、users
という名前のテーブルが作成されます 2つの列:id
およびusername
。括弧内の数字は、列がデータベースに格納する文字数の制限を表します。この場合、たとえば、username
長さが20文字を超える文字列を保持しません。 -
INSERT INTO users(id、username)VALUES(1、 "graham12");
と入力します 、Enterキーを押します。これにより、1
のIDが追加されます およびユーザー名graham12
テーブルで。id
以降 列はINT
です 、引用符は使用しません。 -
SELECT * FROM users;
と入力します 、Enterキーを押します。これにより、users
にあるすべてのものが表示されます テーブル。そこにある唯一のエントリは、先ほど行った最後のステップから挿入したものでなければなりません。
ステップ3 :PHPからデータベースに接続するために必要な資格情報を取得します。 (ターミナル内)
これで、 mysqli
をテストできるデータがテーブルにあります。 との接続。ただし、最初に、PHPでデータベースに接続するために必要な資格情報を取得する必要があります。 Cloud 9では、接続するために5つのクレデンシャルが必要です:
- ホスト名
- ユーザー名
- パスワード
- データベース名
- ポート番号
ユーザー名、パスワード、データベース名、およびポート番号は、実際にはすでにわかっています。説明します:
- ホスト名 -
SHOW VARIABLES WHERE Variable_name ='hostname';
と入力します 、Enterキーを押します。Variable_name
の2つの列を持つテーブルを取得します。 およびValue
。Value
内 列には、yourUsername-yourProjectName-XXXXXXX
のようなものが表示されます。 、ここでX
は7桁の数字です。この番号を書き留めるか、どこかに保存してください。これはあなたのホスト名です。 (このウォークスルーの概要がわかりやすい場合は、新しいターミナルを起動してmysqlを起動し、使用するデータベースを選択してから、SHOW VARIABLES WHERE Variable_name ='hostname';
> 。混乱している場合は、この手順を最初から読み直してください。) - ユーザー名 -Cloud9へのログインに使用するユーザー名。
- パスワード -いいえがあります Cloud9のデータベースのパスワード。
- データベース名 -これは
sample_db
になります またはデータベースに名前を付けたものは何でも; - ポート番号 -は
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プリペアドステートメント> 。