PHPでトランザクションを久々に使用した。サンプルコード

2023.03.08

Logging

おはようございます。

先日、PHPでトランザクションを久々に使用した。サンプルコードは以下になります。トランザクションやロールバックとかいう言葉は聞いても実際に使用してみないとその役割りや良さはわからないものかなって思います。

$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myusername';
$password = 'mypassword';

try {
    $dbh = new PDO($dsn, $username, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // トランザクションを開始する
    $dbh->beginTransaction();

    // データベース操作1を実行する
    $stmt1 = $dbh->prepare('INSERT INTO users (name, email) VALUES (?, ?)');
    $stmt1->execute(array('John Doe', 'john.doe@example.com'));

    // データベース操作2を実行する
    $stmt2 = $dbh->prepare('UPDATE accounts SET balance = balance - 100 WHERE user_id = ?');
    $stmt2->execute(array(1));

    // データベース操作3を実行する(エラーが起きることをシミュレートする)
    $stmt3 = $dbh->prepare('INSERT INTO orders (user_id, total_amount) VALUES (?, ?)');
    $stmt3->execute(array(1, 'abc')); // 'total_amount'カラムに文字列を挿入しているため、エラーが発生する

    // コミットする
    $dbh->commit();

} catch (PDOException $e) {
    // エラーが発生した場合はロールバックする
    $dbh->rollBack();
    echo 'Transaction failed: ' . $e->getMessage();
}

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

array, beginTransaction, catch, commit, dbh, dbname, echo, execute, getMessage, host, john.doe@example.com, localhost, mydatabase, MYSQL, PDO, PDOException, prepare, rollBack, setAttribute, VALUES,

(github)=>{git push -u ギットハブ master;}

2020.05.27

Logging

github(ギットハブ)を知っている方はIT業界では9割近いかなとか思っているのですが・・・どうでしょうか?名前は聞いたことが有るけれど触ったことはないという方も地方ではいらっしゃると思います。ちなみに自分も名前だけ知っているような状態でした。そもそもソロみたいな感じでコード書いている人はgit(ギット)だけで十分ですし、ソースコードの管理すらしない人もいるかと思います。ひとりでギットハブを使う方は特にブランチ関係は覚える必要はないかなと思います。

git add .
git commit -m "comment..."
git remote add origin https://github.com/test.git
git push -u origin master

なので初回はこんな感じで打ち込みます。3行目でoriginと打ち込んでいると思いますがこれは、『https://github.com/test.git』をoriginとして認識させるよという事になります。originじゃなくても良いです。originじゃない場合、『push』のコマンド行を任意の文字に置き換える必要があります。

尚、ひとりで使っていてPCが壊れた時に『Pull』が必要になるかと思います。それ以外はブランチもぷるも必要ない気がします。

※gitにはいろいろなコマンドオプションがあるようですね…。
例えば下記のようなコマンドを打つと『git add .』を省略することが可能だとか、どういう意味かは割愛します。必ずぐぐってくださいね。

git commit -a -m "comment..."

githubではhtmlやjsは使用できるので無料でサイトを構築することも可能です。ポートフォリオとしてのページをgithubで作っている人も多いみたいです。
『ソースコード管理する事自体が面倒くさい‥な』と思っている方は考え直してください、ソースが消えちゃった事やチームで何かを作ったりレビューしたりするときの事を考えてくださいな。

じぶんの説明がわからない方はこちらに完結に説明している動画がありますので参照くださいね(´・ω・`)

.NETラボ講演「今更聞けないGit/GitHub入門とVisual Studio Codeから使う」2017/1/28

追記:github強制プッシュを無効にする方法
https://next.rikunabi.com/journal/20170516_t12_iq/

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

-m, , , Add, com, comment, commit, git, github, https, IT, master, origin, push, quot, remote, test, u', キット, ギットハブ, コード, こと, これ, ソース, ソロ, ひとり, ブランチ, , 初回, 名前, 地方, 必要, 感じ, , 業界, 状態, 管理, 自分, 関係,