Zend Frameworkを使ったMySQLでのトランザクションのかけかた
こんにちは、カズマです。
今回も備忘録を書いておこうと思います。
Zend Frameworkを使ったMySQLでのトランザクションのかけかた。
必須事項 : 該当テーブルのストレージエンジンは「innoDB」とすること
※MyISAMはトランザクションに対応していない
ストレージエンジンの変更SQL
ALTER TABLE テーブル名 TYPE = INNODB;
Zend FrameworkによるMySqlでのトランザクション サンプルソース
<?php
require_once './zend/library/Zend/Db.php';
$db_params = array ('host' => 'ホスト名',
'username' => 'ユーザID',
'password' => 'パスワード',
'dbname' => 'データベース名',
'port' => 'ポート番号',
'charset' => '文字セット');
// コネクション作成
$db = Zend_Db::factory('PDO_MYSQL', $db_params); // コネクション作成
$instSql = "insert into テーブル名 values(1,'テストさん')";
// トランザクション開始
$db->beginTransaction();
try {
$db->query($instSql);
$db->commit(); // コミット
} catch (Exception $e){
$db->rollBack();
echo $e->getMessage(); // エラー出力
}
?>

