PHP 5 and later can work with a MySQL database using: Show
Earlier versions of PHP used the MySQL extension. However, this extension was deprecated in 2012. Should I Use MySQLi or PDO?If you need a short answer, it would be "Whatever you like". Both MySQLi and PDO have their advantages: PDO will work on 12 different database systems, whereas MySQLi will only work with MySQL databases. So, if you have to switch your project to use another database, PDO makes the process easy. You only have to change the connection string and a few queries. With MySQLi, you will need to rewrite the entire code - queries included. Both are object-oriented, but MySQLi also offers a procedural API. Both support Prepared Statements. Prepared Statements protect from SQL injection, and are very important for web application security. MySQL Examples in Both MySQLi and PDO SyntaxIn this, and in the following chapters we demonstrate three ways of working with PHP and MySQL:
MySQLi InstallationFor Linux and Windows: The MySQLi extension is automatically installed in most cases, when php5 mysql package is installed. For installation details, go to: http://php.net/manual/en/mysqli.installation.php PDO InstallationFor installation details, go to: http://php.net/manual/en/pdo.installation.php Open a Connection to MySQLBefore we can access data in the MySQL database, we need to be able to connect to the server: Example (MySQLi Object-Oriented)<?php // Create connection // Check connection Note on the object-oriented example above: $connect_error was broken until PHP 5.2.9 and 5.3.0. If you need to ensure compatibility with PHP versions prior to 5.2.9 and 5.3.0, use the following code instead: // Check connection Example (MySQLi Procedural)<?php // Create connection // Check connection Example (PDO)<?php try { Note: In the PDO example above we have also specified a database (myDB). PDO require a valid database to connect to. If no database is specified, an exception is thrown. Tip: A great benefit of PDO is that it has an exception class to handle any problems that may occur in our database queries. If an exception is thrown within the try{ } block, the script stops executing and flows directly to the first catch(){ } block. Close the ConnectionThe connection will be closed automatically when the script ends. To close the connection before, use the following: MySQLi Object-Oriented:$conn->close(); MySQLi Procedural:mysqli_close($conn); In this article, we will discuss PDO in PHP in detail. There are three main options for PHP
ting to a MySQL database server.
MySQLi procedural and MySQLi object-oriented only support MySQL database but PDO is an advanced method along with MySQL which supports Postgres, SQLite, Oracle, and MS SQL Server. PDO is more secure than the first two options and it is also faster in comparison with MySQLi procedural and MySQLi object-oriented. PDO is a database access layer that provides a fast and consistent interface for accessing and managing databases in PHP applications. Every DBMS has a specific PDO driver that must be installed when you are using PDO in PHP applications. It simplifies the database operations including:
When we want to connect PHP and MySQL then we need to follow 3 steps:
Steps for connection using PDO. Connection: In this step, we connect with the database $conn = new PDO($db_name,$username,$password); When we want the connection between PHP and MySQL using PDO then we need to create an object of the PDO class. $db_name = "mysql:host=localhost;dbname:gfg"; Note: $db_name contains the following information. Run SQL query: To run SQL query we can use two methods:
$sql = $conn->query("select * from students");
$sql = $conn->prepare("select * from students"); Note: The prepare() method is more secure than the query() method. Close the connection: For closing the database connection using PDO. $conn = null; Parameters: It contains the following parameters.
Return Value: On success, it will return the PDO object. And on failure, it will return the PDOException object. Handling error during connection: The PDOException object will be thrown in case of any error. We can catch the exception to handle the error. PHP
Output: Error : SQLSTATE[28000] [1045] Access denied for user 'roott'@'localhost' (using password: NO) Example 1: Suppose we have a database “gfg” with a table “students”. We want to fetch the details like “id” and name of all the students present in the table “students”. PHP
Output: 1 Student1 2 Student2 3 Student3 4 Student4 Example 2: In this case, suppose we have the “employee” table in “gfg” database. We want to delete the employee from the “employee” table whose “id = 123”. PHP
Output: The number of rows to be deleted from the employee table is: 1 Benefits of PDO:
Supported Database: PDO supports 12 different databases.
What does PDO mean in PHP?PDO is an acronym for PHP Data Objects. PDO is a lean, consistent way to access databases. This means developers can write portable code much easier. PDO is not an abstraction layer like PearDB.
What is the function of PDO?PDO provides a data-access abstraction layer, which means that, regardless of which database you're using, you use the same functions to issue queries and fetch data. PDO does not provide a database abstraction; it doesn't rewrite SQL or emulate missing features.
What is PDO explain the benefits of using PDO?PDO allows comparatively seamless switching between different databases and platforms, which can be easily done by changing the connection string. It does not support database-specific syntaxes. The PDO extension can access any database which is written for PDO driver.
What is PDO extension?Introduction ¶ The PHP Data Objects ( PDO ) extension defines a lightweight, consistent interface for accessing databases in PHP. Each database driver that implements the PDO interface can expose database-specific features as regular extension functions.
|