Table of Contents

MySQL - Database API

PHP offers three different APIs to connect to MySQL.

Choosing an API

Comparing the three MySQL APIs.

<?php
// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);
 
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);
 
// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>

It is recommended to use either the PDO_MySQL or mysqli extensions. It is not recommended to use the old mysql extension for new development, as it was deprecated in PHP 5.5.0 and was removed in PHP 7.

PDO has the advantage that you only need to learn one PHP API if you need to work with different DBMS in the future.

MySQLi is more powerful and probably more complex to learn.

PDO Tutorial for MySQL Developers

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

References

http://php.net/manual/en/mysqlinfo.api.choosing.php