Connect to MySQL from PHP
The following examples show how to connect to the MAMP MySQL database from PHP. The default MySQL credentials in MAMP are username root and password root.
PDO is the recommended approach – it is database-independent, uses exceptions for error handling, and works with any modern PHP framework. mysqli is simpler and fine for quick scripts or legacy projects.
PDO (recommended)
Section titled “PDO (recommended)”Connect via network
Section titled “Connect via network”<?php$host = '127.0.0.1';$port = 8889;$db = 'information_schema';$user = 'root';$password = 'root';
$dsn = "mysql:host=$host;port=$port;dbname=$db;charset=utf8mb4";
try { $pdo = new PDO($dsn, $user, $password, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); echo 'Connected successfully.';} catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage();}Connect using a Unix socket
Section titled “Connect using a Unix socket”<?php$socket = '/Applications/MAMP/tmp/mysql/mysql.sock';$db = 'information_schema';$user = 'root';$password = 'root';
$dsn = "mysql:unix_socket=$socket;dbname=$db;charset=utf8mb4";
try { $pdo = new PDO($dsn, $user, $password, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); echo 'Connected successfully.';} catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage();}mysqli
Section titled “mysqli”Connect via network
Section titled “Connect via network”<?phpmysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$host = '127.0.0.1';$port = 8889;$db = 'information_schema';$user = 'root';$password = 'root';
try { $mysqli = new mysqli($host, $user, $password, $db, $port); echo 'Connected successfully.'; echo '<br>Host information: ' . $mysqli->host_info; $mysqli->close();} catch (mysqli_sql_exception $e) { echo 'Connection failed: ' . $e->getMessage();}Connect using a Unix socket
Section titled “Connect using a Unix socket”<?phpmysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$host = 'localhost';$port = 3306;$socket = '/Applications/MAMP/tmp/mysql/mysql.sock';$db = 'information_schema';$user = 'root';$password = 'root';
try { $mysqli = new mysqli($host, $user, $password, $db, $port, $socket); echo 'Connected successfully.'; echo '<br>Host information: ' . $mysqli->host_info; $mysqli->close();} catch (mysqli_sql_exception $e) { echo 'Connection failed: ' . $e->getMessage();}