Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
b60f68d5
Commit
b60f68d5
authored
May 19, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
a39c35c8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
141 additions
and
0 deletions
+141
-0
Mysqli.php
lib/Doctrine/Adapter/Mysqli.php
+141
-0
No files found.
lib/Doctrine/Adapter/Mysqli.php
0 → 100644
View file @
b60f68d5
<?php
/*
* $Id: Mock.php 1080 2007-02-10 18:17:08Z romanb $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Adapter_Mysqli
* This class is used for special testing purposes.
*
* @package Doctrine
* @subpackage Doctrine_Adapter
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision: 1080 $
*/
class
Doctrine_Adapter_Mysqli
extends
Doctrine_Adapter
{
/**
* Creates a connection to the database.
*
* @return void
* @throws Doctrine_Adapter_Mysqli_Exception
*/
protected
function
_connect
()
{
if
(
$this
->
_connection
)
{
return
;
}
// Suppress connection warnings here.
// Throw an exception instead.
@
$this
->
_connection
=
new
mysqli
(
$this
->
_config
[
'host'
],
$this
->
_config
[
'username'
],
$this
->
_config
[
'password'
],
$this
->
_config
[
'dbname'
]
);
if
(
$this
->
_connection
===
false
||
mysqli_connect_errno
())
{
throw
new
Doctrine_Adapter_Mysqli_Exception
(
mysqli_connect_error
());
}
}
/**
* Force the connection to close.
*
* @return void
*/
public
function
closeConnection
()
{
$this
->
_connection
->
close
();
$this
->
_connection
=
null
;
}
/**
* Prepare a statement and return a PDOStatement-like object.
*
* @param string $sql SQL query
* @return Doctrine_Statement_Mysqli
*/
public
function
prepare
(
$sql
)
{
$this
->
_connect
();
$stmt
=
new
Doctrine_Statement_Mysqli
(
$this
,
$sql
);
$stmt
->
setFetchMode
(
$this
->
_fetchMode
);
return
$stmt
;
}
/**
* Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.
*
* As a convention, on RDBMS brands that support sequences
* (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence
* from the arguments and returns the last id generated by that sequence.
* On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method
* returns the last value generated for such a column, and the table name
* argument is disregarded.
*
* MySQL does not support sequences, so $tableName and $primaryKey are ignored.
*
* @param string $tableName OPTIONAL Name of table.
* @param string $primaryKey OPTIONAL Name of primary key column.
* @return integer
*/
public
function
lastInsertId
(
$tableName
=
null
,
$primaryKey
=
null
)
{
$mysqli
=
$this
->
_connection
;
return
$mysqli
->
insert_id
;
}
/**
* Begin a transaction.
*
* @return void
*/
protected
function
_beginTransaction
()
{
$this
->
_connect
();
$this
->
_connection
->
autocommit
(
false
);
}
/**
* Commit a transaction.
*
* @return void
*/
protected
function
_commit
()
{
$this
->
_connect
();
$this
->
_connection
->
commit
();
$this
->
_connection
->
autocommit
(
true
);
}
/**
* Roll-back a transaction.
*
* @return void
*/
protected
function
_rollBack
()
{
$this
->
_connect
();
$this
->
_connection
->
rollback
();
$this
->
_connection
->
autocommit
(
true
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment