Table Of ContentsPrevious topic< Abstract class Phalcon\Db\Adapter Next topic |
Abstract class Phalcon\Db\Adapter\Pdo¶extends abstract class Phalcon\Db\Adapter implements Phalcon\Db\AdapterInterface, Phalcon\Events\EventsAwareInterface Phalcon\Db\Adapter\Pdo is the Phalcon\Db that internally uses PDO to connect to a database <?php
$connection = new Phalcon\Db\Adapter\Pdo\Mysql(array(
'host' => '192.168.0.11',
'username' => 'sigma',
'password' => 'secret',
'dbname' => 'blog',
'port' => '3306'
));
//or connect via unix socket
$connection = new Phalcon\Db\Adapter\Pdo\Mysql(array(
'dsn' => 'mysql:unix_socket=/PATH/TO/SOCK_FILE;dbname=YOUR_DB_NAME;charset=utf8;',
'username' => 'YOUR_USERNAME',
'password' => 'YOUR_PASSWORD',
));
Methods¶public __construct (array $descriptor) Constructor for Phalcon\Db\Adapter\Pdo public boolean connect ([array $descriptor]) This method is automatically called in Phalcon\Db\Adapter\Pdo constructor. Call it when you need to restore a database connection <?php
//Make a connection
$connection = new Phalcon\Db\Adapter\Pdo\Mysql(array(
'host' => '192.168.0.11',
'username' => 'sigma',
'password' => 'secret',
'dbname' => 'blog',
));
//Reconnect
$connection->connect();
public PDOStatement prepare (string $sqlStatement) Returns a PDO prepared statement to be executed with ‘executePrepared’ <?php
$statement = $connection->prepare('SELECT * FROM robots WHERE name = :name');
$pdoResult = $connection->executePrepared($statement, array('name' => 'Voltron'));
public PDOStatement executePrepared (PDOStatement $statement, array $placeholders, array $dataTypes) Executes a prepared statement binding. This function uses integer indexes starting from zero <?php
$statement = $connection->prepare('SELECT * FROM robots WHERE name = :name');
$pdoResult = $connection->executePrepared($statement, array('name' => 'Voltron'));
public Phalcon\Db\ResultInterface query (string $sqlStatement, [unknown $placeholders], [unknown $dataTypes]) Sends SQL statements to the database server returning the success state. Use this method only when the SQL statement sent to the server is returning rows <?php
//Querying data
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots WHERE type=?", array("mechanical"));
public boolean execute (string $sqlStatement, [unknown $placeholders], [unknown $dataTypes]) Sends SQL statements to the database server returning the success state. Use this method only when the SQL statement sent to the server doesn’t return any row <?php
//Inserting data
$success = $connection->execute("INSERT INTO robots VALUES (1, 'Astro Boy')");
$success = $connection->execute("INSERT INTO robots VALUES (?, ?)", array(1, 'Astro Boy'));
public int affectedRows () Returns the number of affected rows by the lastest INSERT/UPDATE/DELETE executed in the database system <?php
$connection->execute("DELETE FROM robots");
echo $connection->affectedRows(), ' were deleted';
public boolean close () Closes the active connection returning success. Phalcon automatically closes and destroys active connections when the request ends public string escapeIdentifier (string $identifier) Escapes a column/table/schema name <?php
$escapedTable = $connection->escapeIdentifier('robots');
$escapedTable = $connection->escapeIdentifier(array('store', 'robots'));
public string escapeString (string $str) Escapes a value to avoid SQL injections according to the active charset in the connection <?php
$escapedStr = $connection->escapeString('some dangerous value');
public array convertBoundParams (unknown $sqlStatement, array $params) Converts bound parameters such as :name: or ?1 into PDO bind params ? <?php
print_r($connection->convertBoundParams('SELECT * FROM robots WHERE name = :name:', array('Bender')));
public int lastInsertId ([string $sequenceName]) Returns the insert id for the auto_increment/serial column inserted in the lastest executed SQL statement <?php
//Inserting a new robot
$success = $connection->insert(
"robots",
array("Astro Boy", 1952),
array("name", "year")
);
//Getting the generated id
$id = $connection->lastInsertId();
public boolean begin ([boolean $nesting]) Starts a transaction in the connection public boolean rollback ([boolean $nesting]) Rollbacks the active transaction in the connection public boolean commit ([boolean $nesting]) Commits the active transaction in the connection public int getTransactionLevel () Returns the current transaction nesting level public boolean isUnderTransaction () Checks whether the connection is under a transaction <?php
$connection->begin();
var_dump($connection->isUnderTransaction()); //true
public PDO getInternalHandler () Return internal PDO handler public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager) inherited from Phalcon\Db\Adapter Sets the event manager public Phalcon\Events\ManagerInterface getEventsManager () inherited from Phalcon\Db\Adapter Returns the internal event manager public setDialect (unknown $dialect) inherited from Phalcon\Db\Adapter Sets the dialect used to produce the SQL public Phalcon\Db\DialectInterface getDialect () inherited from Phalcon\Db\Adapter Returns internal dialect instance public array fetchOne (string $sqlQuery, [int $fetchMode], [unknown $placeholders]) inherited from Phalcon\Db\Adapter Returns the first row in a SQL query result <?php
//Getting first robot
$robot = $connection->fetchOne("SELECT * FROM robots");
print_r($robot);
//Getting first robot with associative indexes only
$robot = $connection->fetchOne("SELECT * FROM robots", Phalcon\Db::FETCH_ASSOC);
print_r($robot);
public array fetchAll (string $sqlQuery, [int $fetchMode], [unknown $placeholders]) inherited from Phalcon\Db\Adapter Dumps the complete result of a query into an array <?php
//Getting all robots with associative indexes only
$robots = $connection->fetchAll("SELECT * FROM robots", Phalcon\Db::FETCH_ASSOC);
foreach ($robots as $robot) {
print_r($robot);
}
//Getting all robots that contains word "robot" withing the name
$robots = $connection->fetchAll("SELECT * FROM robots WHERE name LIKE :name",
Phalcon\Db::FETCH_ASSOC,
array('name' => '%robot%')
);
foreach($robots as $robot){
print_r($robot);
}
public boolean insert (string $table, array $values, [array $fields], [array $dataTypes]) inherited from Phalcon\Db\Adapter Inserts data into a table using custom RBDM SQL syntax <?php
//Inserting a new robot
$success = $connection->insert(
"robots",
array("Astro Boy", 1952),
array("name", "year")
);
//Next SQL sentence is sent to the database system
INSERT INTO `robots` (`name`, `year`) VALUES ("Astro boy", 1952);
public boolean update (string $table, array $fields, array $values, [string $whereCondition], [array $dataTypes]) inherited from Phalcon\Db\Adapter Updates data on a table using custom RBDM SQL syntax <?php
//Updating existing robot
$success = $connection->update(
"robots",
array("name"),
array("New Astro Boy"),
"id = 101"
);
//Next SQL sentence is sent to the database system
UPDATE `robots` SET `name` = "Astro boy" WHERE id = 101
public boolean delete (string $table, [string $whereCondition], [array $placeholders], [array $dataTypes]) inherited from Phalcon\Db\Adapter Deletes data from a table using custom RBDM SQL syntax <?php
//Deleting existing robot
$success = $connection->delete(
"robots",
"id = 101"
);
//Next SQL sentence is generated
DELETE FROM `robots` WHERE `id` = 101
public string getColumnList (array $columnList) inherited from Phalcon\Db\Adapter Gets a list of columns public string limit (string $sqlQuery, int $number) inherited from Phalcon\Db\Adapter Appends a LIMIT clause to $sqlQuery argument <?php
echo $connection->limit("SELECT * FROM robots", 5);
public string tableExists (string $tableName, [string $schemaName]) inherited from Phalcon\Db\Adapter Generates SQL checking for the existence of a schema.table <?php
var_dump($connection->tableExists("blog", "posts"));
public string viewExists (string $viewName, [string $schemaName]) inherited from Phalcon\Db\Adapter Generates SQL checking for the existence of a schema.view <?php
var_dump($connection->viewExists("active_users", "posts"));
public string forUpdate (string $sqlQuery) inherited from Phalcon\Db\Adapter Returns a SQL modified with a FOR UPDATE clause public string sharedLock (string $sqlQuery) inherited from Phalcon\Db\Adapter Returns a SQL modified with a LOCK IN SHARE MODE clause public boolean createTable (string $tableName, string $schemaName, array $definition) inherited from Phalcon\Db\Adapter Creates a table public boolean dropTable (string $tableName, [string $schemaName], [boolean $ifExists]) inherited from Phalcon\Db\Adapter Drops a table from a schema/database public boolean createView (unknown $viewName, array $definition, [string $schemaName]) inherited from Phalcon\Db\Adapter Creates a view public boolean dropView (string $viewName, [string $schemaName], [boolean $ifExists]) inherited from Phalcon\Db\Adapter Drops a view public boolean addColumn (string $tableName, string $schemaName, Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter Adds a column to a table public boolean modifyColumn (string $tableName, string $schemaName, Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter Modifies a table column based on a definition public boolean dropColumn (string $tableName, string $schemaName, string $columnName) inherited from Phalcon\Db\Adapter Drops a column from a table public boolean addIndex (string $tableName, string $schemaName, Phalcon\Db\IndexInterface $index) inherited from Phalcon\Db\Adapter Adds an index to a table public boolean dropIndex (string $tableName, string $schemaName, string $indexName) inherited from Phalcon\Db\Adapter Drop an index from a table public boolean addPrimaryKey (string $tableName, string $schemaName, Phalcon\Db\IndexInterface $index) inherited from Phalcon\Db\Adapter Adds a primary key to a table public boolean dropPrimaryKey (string $tableName, string $schemaName) inherited from Phalcon\Db\Adapter Drops a table’s primary key public boolean true addForeignKey (string $tableName, string $schemaName, Phalcon\Db\ReferenceInterface $reference) inherited from Phalcon\Db\Adapter Adds a foreign key to a table public boolean true dropForeignKey (string $tableName, string $schemaName, string $referenceName) inherited from Phalcon\Db\Adapter Drops a foreign key from a table public string getColumnDefinition (Phalcon\Db\ColumnInterface $column) inherited from Phalcon\Db\Adapter Returns the SQL column definition from a column public array listTables ([string $schemaName]) inherited from Phalcon\Db\Adapter List all tables on a database <?php
print_r($connection->listTables("blog"));
public array listViews ([string $schemaName]) inherited from Phalcon\Db\Adapter List all views on a database <?php
print_r($connection->listViews("blog")); ?>
public Phalcon\Db\Index [] describeIndexes (string $table, [string $schema]) inherited from Phalcon\Db\Adapter Lists table indexes <?php
print_r($connection->describeIndexes('robots_parts'));
public Phalcon\Db\Reference [] describeReferences (string $table, [string $schema]) inherited from Phalcon\Db\Adapter Lists table references <?php
print_r($connection->describeReferences('robots_parts'));
public array tableOptions (string $tableName, [string $schemaName]) inherited from Phalcon\Db\Adapter Gets creation options from a table <?php
print_r($connection->tableOptions('robots'));
public boolean createSavepoint (string $name) inherited from Phalcon\Db\Adapter Creates a new savepoint public boolean releaseSavepoint (string $name) inherited from Phalcon\Db\Adapter Releases given savepoint public boolean rollbackSavepoint (string $name) inherited from Phalcon\Db\Adapter Rollbacks given savepoint public Phalcon\Db\AdapterInterface setNestedTransactionsWithSavepoints (boolean $nestedTransactionsWithSavepoints) inherited from Phalcon\Db\Adapter Set if nested transactions should use savepoints public boolean isNestedTransactionsWithSavepoints () inherited from Phalcon\Db\Adapter Returns if nested transactions should use savepoints public string getNestedTransactionSavepointName () inherited from Phalcon\Db\Adapter Returns the savepoint name to use for nested transactions public Phalcon\Db\RawValue getDefaultIdValue () inherited from Phalcon\Db\Adapter Returns the default identity value to be inserted in an identity column <?php
//Inserting a new robot with a valid default value for the column 'id'
$success = $connection->insert(
"robots",
array($connection->getDefaultIdValue(), "Astro Boy", 1952),
array("id", "name", "year")
);
public boolean supportSequences () inherited from Phalcon\Db\Adapter Check whether the database system requires a sequence to produce auto-numeric values public boolean useExplicitIdValue () inherited from Phalcon\Db\Adapter Check whether the database system requires an explicit value for identity columns public array getDescriptor () inherited from Phalcon\Db\Adapter Return descriptor used to connect to the active database public string getConnectionId () inherited from Phalcon\Db\Adapter Gets the active connection unique identifier public string getSQLStatement () inherited from Phalcon\Db\Adapter Active SQL statement in the object public string getRealSQLStatement () inherited from Phalcon\Db\Adapter Active SQL statement in the object without replace bound paramters public array getSQLVariables () inherited from Phalcon\Db\Adapter Active SQL statement in the object public array getSQLBindTypes () inherited from Phalcon\Db\Adapter Active SQL statement in the object public string getType () inherited from Phalcon\Db\Adapter Returns type of database system the adapter is used for public string getDialectType () inherited from Phalcon\Db\Adapter Returns the name of the dialect used abstract public Phalcon\Db\ColumnInterface [] describeColumns (string $table, [string $schema]) inherited from Phalcon\Db\AdapterInterface Returns an array of Phalcon\Db\Column objects describing a table |