2008-01-01 MySQL+ADOdbでトランザクションを使う PHP MySQL MySQL+ADOdbでトランザクションがうまく動かなかったので、チェックしたところをメモ。 データベースエンジンがMyISAMになっている MyISAMではトランザクションが使えない。トランザクションが使いたいならInnoDBとかにしないといけない。 なぜかInnoDBが使えない xamppを使っていると、デフォルトのmy.cnfには skip-innodb という項目があって、InnoDBが使えないようになっている。この項目を#でコメントアウトしてmysqlを再起動すれば使えるようになる。 データベースドライバに『mysql』を使っている ADOdbのデータベースドライバには以下の3種類がある。 mysql PHP4,5で使える。トランザクションが使えない。 mysqlt PHP4,5で使える。トランザクションが使える。 mysqli PHP5でmysqli拡張が有効になっていれば使える。トランザクションが使える。 データベースドライバはADONewConnection()の引数で指定する。 EthnaでEthna_DB_ADOdb経由で使っているなら、[PROJECTID].iniのdsnをチェック。