planetscale - PHPを使用してテーブルを作成し、情報を追加する


私は以前、PlanetScaleデータベースに接続することについてのポストを作りました。


テーブルの作成


PlanetScaleのUIまたはプログラムでテーブルを作成できます.PHPを使っていますが、あなたのインスタンスに接続したら、好きな言語を使うことができます.

プレーンスケールUI


があるweb console SQLコードを直接実行するPlanetScale分岐からアクセスできます.
CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `email` varchar(255) NOT NULL,
  `first_name` varchar(255),
  `last_name` varchar(255)
);

プログラムがテーブルを作成する


PHPのPDOクラスを使用します.したがって、PDOオブジェクト$ dbを作成したと仮定します.
function createTable() {
    global $db;
    $query = 'CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `email` varchar(255) NOT NULL,
  `first_name` varchar(255),
  `last_name` varchar(255)
)';
    $statement = $db->prepare($query);
    $statement->execute();
    $statement->closeCursor();
}
注意:ブランチが「プロダクション」モードで実行されている場合は、動作しません.Planescaleのポイントは、データベースを壊すことなくスキーマ更新を行うことができますので、そのブランチに直接変更を加えることはできません.あなたが既に生産モードであなたのメインブランチを持っているならば、新しいブランチをつくってください.私は2番目のブランチを' dev 'と呼び、2番目のブランチにPDOを設定しました.それから、一旦あなたが準備ができたら、あなたはメインにあなたのブランチを「要求を展開します」.

PlanetScaleデータベースへのデータの挿入


SQL文を通常通り実行することができます.
function addRow($userEmail, $fname, $lname) {
    global $db;
    //add user to group
    $query2 = "INSERT INTO users (email, first_name, last_name) VALUES (:userEmail,:first_name, :last_name)";
    $statement = $db->prepare($query2);
    $statement->bindValue(":userEmail", $userEmail);
    $statement->bindValue(":first_name", $fname);
    $statement->bindValue(":last_name", $lname);
    $statement->execute();
    $statement->closeCursor();
}

addRow("[email protected]", "TestUser1", "TestLastName");
phpstormを使用している場合は、DataGripを通してPlanetScaleデータベースをIDEに接続することをお勧めします.Here is an article on how to do that . これは自動補完のようなものを与え、あなたのSQL文でバグ/typosをキャッチすることをより簡単にします.

あなたがこれが役に立つか、質問をするならば、以下のコメントを削除するか、さえずりの上で私をなでてください!