Rollback of Zend/Db

このバージョンに戻す
[Rev:Fs46o4vyiv](最終更新:11年前)

基本的な利用方法

$configArray = array(
    'driver' => 'Mysqli',
    'database' => 'zend_db_example',
    'username' => 'developer',
    'password' => 'developer-password',
    'charset'  => 'utf8',
    'options' => array('buffer_results' => true)
);
$adapter = new Zend\Db\Adapter\Adapter($configArray);

$adapter = new Zend\Db\Adapter\Adapter(array(
    'driver' => 'Mysqli',
    'database' => 'zend_db_example',
    'username' => 'developer',
    'password' => 'developer-password',
    'charset'  => 'utf8',
    'options' => array('buffer_results' => true)
));

設定

Key必須項目
driver必須Mysqli, Sqlsrv, Pdo_Sqlite, Pdo_Mysql, Pdo=OtherPdoDriver
database一般的に必須データベース名
username一般的に必須接続ユーザ名
password一般的に必須接続パスワード
hostname環境によっては必須IPアドレスもしくはホスト名
port環境によっては必須接続ポート番号
charset環境によっては必須利用する文字コード
options任意現在mysqliのみサポート
platform_options任意現在IbmDb2とOracleのみサポート

options値

Key必須項目
buffer_results任意結果をバッファーするか(Mysqli)

platform_options値

Key必須項目
quote_identifiers任意(IbmDb2とOracle)
identifier_separator任意(IbmDb2)

データベースの操作

直接SQLを記述

 array(5)

sqlクラスの利用

$sql = new Zend\Db\Sql\Sql($adapter);
$insert=$sql->insert();
$insert->into("test");
// columnsを先に書くと何故か消える
$insert->values(array("1","hoge"));
$insert->columns(array("id", "name"));
echo $sql->getSqlStringForSqlObject($insert);
// →INSERT INTO `test` (`id`, `name`) VALUES ('1', 'hoge')

tableGatewayクラスの利用

トランザクション処理

// トランザクション開始
$adapter->getDriver()->getConnection()->beginTransaction();
try {
    // コミット処理
    $adapter->getDriver()->getConnection()->commit();
} catch (\Exception $e) {
    // ロールバック処理
    $adapter->getDriver()->getConnection()->rollback();
}

スポンサー