PHP PDO
The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for PHP to access databases.
PDO provides a data access abstraction layer, which means that no matter which database is used, the same functions (methods) can be used to query and obtain data.
PDO is released with PHP5.1 and can also be used in the PECL extension of PHP5.0. It cannot run on previous PHP versions.
PDO Installation
You can check whether the PDO extension is installed through PHP's phpinfo() function.
Installing PDO on Unix systems
On Unix or Linux you need to add the following extensions:
extension=pdo.so
Windows users
PDO and all major Drivers are distributed with PHP as shared extensions. To activate them, simply edit the php.ini file and add the following extension:
extension=php_pdo.dllIn addition, there are various database extensions corresponding to the following:
;extension=php_pdo_firebird.dll ;extension=php_pdo_informix.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll
In After setting these configurations, we need to restart PHP or the web server.
Next let’s take a look at specific examples. The following is an example of using PDO to connect to a MySql database:
<?php $dbms='mysql'; //数据库类型 $host='localhost'; //数据库主机名 $dbName='test'; //使用的数据库 $user='root'; //数据库连接用户名 $pass=''; //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "连接成功<br/>"; /*你还可以进行一次搜索操作 foreach ($dbh->query('SELECT * from FOO') as $row) { print_r($row); //你可以用 echo($GLOBAL); 来看到这些值 } */ $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样: $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true)); ?>
It’s very simple. Next, let’s take a look at the specifics of PHP PDO. Description:
Predefined constants
PHP PDO connection connection management
PHP PDO transaction and Automatic submission
PHP PDO prepared statements and stored procedures
PHP PDO errors and error handling
PHP PDO Large Objects (LOBs)
PDO Class:
PDO::beginTransaction — Start a transaction
PDO::commit — Commit a transaction
PDO::__construct — Create a PDO instance that represents a database connection
PDO::errorCode — Get the SQLSTATE related to the last operation of the database handle
PDO::errorInfo — Return the error information of the last operation on the database
PDO::exec — Execute a SQL statement and return the number of affected rows
PDO::getAttribute — Retrieve attributes of a database connection
PDO::getAvailableDrivers — Returns an array of available drivers
PDO::inTransaction — Checks whether within a transaction
PDO::lastInsertId — Returns the ID or sequence value of the last inserted row
PDO::prepare — Prepares the SQL statement to be executed and returns a PDOStatement object
PDO::query — executes a SQL statement and returns a PDOStatement object, which can be understood as a result set
PDO::quote — is a SQL statement Add quotes to the string.
PDO::rollBack — rollback a transaction
PDO::setAttribute — set attributes
PDOStatement class:
PDOStatement::bindColumn — Bind a column to a PHP variable
PDOStatement::bindParam — Bind a parameter to the specified variable name
PDOStatement::bindValue — Bind a value to a parameter
PDOStatement::closeCursor — Close the cursor so that the statement can be executed again.
PDOStatement::columnCount — Returns the number of columns in the result set
PDOStatement::debugDumpParams —Print a SQL preprocessing command
PDOStatement::errorCode — Get the SQLSTATE related to the last statement handle operation
PDOStatement::errorInfo — Get the extension related to the last statement handle operation Error message
PDOStatement::execute — Execute a prepared statement
PDOStatement::fetch — Get the next row from the result set
PDOStatement::fetchAll — Returns an array containing all rows in the result set
PDOStatement::fetchColumn — Returns a single column from the next row in the result set .
PDOStatement::fetchObject — Gets the next row and returns it as an object.
PDOStatement::getAttribute — Retrieve a statement attribute
PDOStatement::getColumnMeta — Return metadata for a column in the result set
PDOStatement::nextRowset — Advances to the next rowset in a multi-rowset statement handle
PDOStatement::rowCount — Returns affected by the previous SQL statement Number of rows
PDOStatement::setAttribute — Sets a statement attribute
PDOStatement::setFetchMode — Sets the default fetch mode for a statement.