PHPでMySQLを使って、トランザクション処理をさせたり、Prepare Statementをつかって、サニタイズをしたい場合についての話。
このとき、mysqliを使えばいいと思うんですが、そのやりかたについて、まとめてみました。
1.PHP5とmySQL 5をいれてみる
エクステンションで、mysqliを使えるようにしておく
方法は、前のブログに書いた(こちら)
2.mySQLにテーブルを、タイプをInnoDBにして、作成する
たとえば、こんなかんじ(TYPE=InnoDBと最後に指定してある)
CREATE TABLE user ( code varchar(4), name varchar(50), PRIMARY KEY(code) ) TYPE=InnoDB; |
3.HTMLを作成する
処理するPHPを呼び出すようにする
4.PHPを作成する
以下の手順
(1)mysqli_connectで接続する
(2)mysqli_autocommitでFALSEにして、オートコミットしない
(3)ステートメントをmysqli_prepareで設定する
(4)ステートメントと値とのバインドをmysqli_stmt_bind_paramで行う
(5)値を設定する
(6)mysqli_stmt_executeでSQLを実行
(7)mysqli_commitでコミットする(またはmysqli_rollbackでロールバックする)
(8)(適当なときに)mysqli_stmt_closeでステートメントを解放する
(9)(適当なときに)mysqli_closeでクローズする
実際のプログラム(のソースコード)とかについては、
ここにまとめておきました。