本文整理汇总了PHP中Connection::beginTransaction方法的典型用法代码示例。如果您正苦于以下问题:PHP Connection::beginTransaction方法的具体用法?PHP Connection::beginTransaction怎么用?PHP Connection::beginTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Connection
的用法示例。
在下文中一共展示了Connection::beginTransaction方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testTransactionCommit
public function testTransactionCommit()
{
$this->createTable();
$this->connection->beginTransaction();
$this->connection->query("INSERT INTO cat (name, colour) VALUES (?, ?)", array('Nennek', 'black'));
$this->connection->commit();
$statement = $this->connection->query("SELECT count(*) AS c FROM cat");
$row = $this->connection->fetch($statement);
$count = array_shift($row);
$this->assertEquals(3, $count);
}
示例2: importDataGuru
function importDataGuru($inputFileName, $idSekolah)
{
try {
/** Identify the type of $inputFileName **/
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
/** Create a new Reader of the type that has been identified **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
/** Load $inputFileName to a PHPExcel Object **/
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($inputFileName);
} catch (Exception $e) {
die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage());
}
$worksheets;
$conn;
$nameSheet;
$noRow = 0;
try {
$conn = new Connection();
$conn->beginTransaction();
$worksheets = $objPHPExcel->getAllSheets();
$idGuru;
foreach ($worksheets as $worksheet) {
$nameSheet = $worksheet->getTitle();
//guru
$noRow = 2;
while (true) {
$username = $worksheet->getCell('B' . $noRow)->getCalculatedValue();
$password = $worksheet->getCell('C' . $noRow)->getCalculatedValue();
$nip = $worksheet->getCell('D' . $noRow)->getCalculatedValue();
$nama = $worksheet->getCell('E' . $noRow)->getCalculatedValue();
if ($username == null) {
break;
}
$idGuru = $conn->setGuru($nip, $nama, null, null, null, null, null, null, null, $username, $password, $idSekolah, null);
//$idGuru=$conn->setGuru($nip, $nama, $tempatLahir, $tglLahir, $jk, $alamat, $telp, $hp, $email, $username, $password, $idSekolah, $foto);
$noRow++;
}
}
$conn->commit();
echo 'Data import succesfully';
} catch (Exception $e) {
$conn->rollback();
die('Error in Sheet ' . $nameSheet . ' row ' . $noRow . ' : ' . $e->getMessage());
}
}
示例3: die
if ($_SESSION["level"] != "admin" && $_SESSION["level"] != "admin_sekolah") {
die("<center> <h1> Forbidden Access </h1> </center>");
}
$conn = new Connection();
?>
<?php
if (isset($_POST["btnSubmit"]) && $_POST["token"] == $_SESSION["token"]) {
$judul = $_POST['judul'];
$isi = $_POST['isi'];
$idSekolah = null;
if ($_SESSION["level"] == "admin_sekolah") {
$idSekolah = $conn->isExistSekolah($_SESSION["idSekolah"]);
}
$idUser = $_SESSION['id'];
$conn->beginTransaction();
$conn->insertArtikel($judul, $isi, $idSekolah, $idUser);
$conn->commit();
}
if (isset($_POST["btnSimpan"]) && $_POST["token"] == $_SESSION["token"]) {
$idArtikel = $_POST['id'];
$judul = $_POST['judul'];
$isi = $_POST['isi'];
$conn->beginTransaction();
$conn->updateArtikelData($idArtikel, $judul, $isi);
$conn->commit();
}
if (isset($_POST["btnDelete"]) && $_POST["token"] == $_SESSION["token"]) {
$idArtikel = $_POST['id'];
$conn->beginTransaction();
$conn->deleteArtikel($idArtikel);
示例4: beginTransaction
/**
* Begin transaction.
*/
public function beginTransaction() {
$this->connection->beginTransaction();
}
示例5: execute
/**
* Execute this migration version up or down and and return the SQL.
*
* @param string $direction The direction to execute the migration.
* @param string $dryRun Whether to not actually execute the migration SQL and just do a dry run.
* @return array $sql
* @throws Exception when migration fails
*/
public function execute($direction, $dryRun = false)
{
$this->_sql = array();
$this->_connection->beginTransaction();
try {
$start = microtime(true);
$this->_state = self::STATE_PRE;
$fromSchema = $this->_sm->createSchema();
$this->_migration->{'pre' . ucfirst($direction)}($fromSchema);
if ($direction === 'up') {
$this->_outputWriter->write("\n" . sprintf(' <info>++</info> migrating <comment>%s</comment>', $this->_version) . "\n");
} else {
$this->_outputWriter->write("\n" . sprintf(' <info>--</info> reverting <comment>%s</comment>', $this->_version) . "\n");
}
$this->_state = self::STATE_EXEC;
$toSchema = clone $fromSchema;
$this->_migration->{$direction}($toSchema);
$this->addSql($fromSchema->getMigrateToSql($toSchema, $this->_platform));
if ($dryRun === false) {
if ($this->_sql) {
$count = count($this->_sql);
foreach ($this->_sql as $query) {
$this->_outputWriter->write(' <comment>-></comment> ' . $query);
$this->_connection->executeQuery($query);
}
} else {
$this->_outputWriter->write(sprintf('<error>Migration %s was executed but did not result in any SQL statements.</error>', $this->_version));
}
if ($direction === 'up') {
$this->markMigrated();
} else {
$this->markNotMigrated();
}
} else {
foreach ($this->_sql as $query) {
$this->_outputWriter->write(' <comment>-></comment> ' . $query);
}
}
$this->_state = self::STATE_POST;
$this->_migration->{'post' . ucfirst($direction)}($toSchema);
$end = microtime(true);
$this->_time = round($end - $start, 2);
if ($direction === 'up') {
$this->_outputWriter->write(sprintf("\n <info>++</info> migrated (%ss)", $this->_time));
} else {
$this->_outputWriter->write(sprintf("\n <info>--</info> reverted (%ss)", $this->_time));
}
$this->_connection->commit();
return $this->_sql;
} catch (SkipMigrationException $e) {
$this->_connection->rollback();
// now mark it as migrated
if ($direction === 'up') {
$this->markMigrated();
} else {
$this->markNotMigrated();
}
$this->_outputWriter->write(sprintf("\n <info>SS</info> skipped (Reason: %s)", $e->getMessage()));
} catch (\Exception $e) {
$this->_outputWriter->write(sprintf('<error>Migration %s failed during %s. Error %s</error>', $this->_version, $this->getExecutionState(), $e->getMessage()));
$this->_connection->rollback();
$this->_state = self::STATE_NONE;
throw $e;
}
$this->_state = self::STATE_NONE;
}