Menghubungkan aplikasi PHP dengan database adalah salah satu tugas paling umum dalam pengembangan web. PHP menyediakan beberapa cara untuk melakukan ini, termasuk menggunakan ekstensi MySQLi (MySQL improved) dan PDO (PHP Data Objects). Di bawah ini adalah panduan langkah demi langkah tentang cara menghubungkan PHP dengan database menggunakan kedua metode tersebut.
Menghubungkan ke Database Menggunakan MySQLi #
Ekstensi MySQLi menyediakan cara yang lebih aman dan lebih efisien untuk mengakses database MySQL. Berikut adalah langkah-langkah untuk membuat koneksi menggunakan MySQLi.
Contoh Koneksi MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// Membuat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Memeriksa koneksi
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
Menghubungkan ke Database Menggunakan PDO #
PDO menyediakan cara yang lebih fleksibel dan aman untuk mengakses database. PDO mendukung banyak jenis database selain MySQL, seperti PostgreSQL, SQLite, dan lainnya.
Contoh Koneksi PDO:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// Mengatur mode error PDO ke exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Menyisipkan Data ke Dalam Tabel #
Setelah membuat koneksi, Anda bisa mulai menyisipkan data ke dalam tabel menggunakan perintah SQL INSERT
.
Contoh Menyisipkan Data Menggunakan MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO Users (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Contoh Menyisipkan Data Menggunakan PDO:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO Users (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
$conn->exec($sql);
echo "New record created successfully";
} catch(PDOException $e) {
echo "Error: " . $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
Mengambil Data dari Tabel #
Anda dapat mengambil data dari tabel menggunakan perintah SQL SELECT
.
Contoh Mengambil Data Menggunakan MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM Users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Contoh Mengambil Data Menggunakan PDO:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT id, firstname, lastname FROM Users");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new RecursiveArrayIterator($stmt->fetchAll()) as $k=>$v) {
echo "id: " . $v["id"]. " - Name: " . $v["firstname"]. " " . $v["lastname"]. "<br>";
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
Mengupdate Data dalam Tabel #
Anda dapat mengupdate data dalam tabel menggunakan perintah SQL UPDATE
.
Contoh Mengupdate Data Menggunakan MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE Users SET lastname='Doe' WHERE id=2";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
Contoh Mengupdate Data Menggunakan PDO:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE Users SET lastname='Doe' WHERE id=2";
$stmt = $conn->prepare($sql);
$stmt->execute();
echo "Record updated successfully";
} catch(PDOException $e) {
echo "Error updating record: " . $e->getMessage();
}
$conn = null;
?>
Menghapus Data dari Tabel #
Anda dapat menghapus data dari tabel menggunakan perintah SQL DELETE
.
Contoh Menghapus Data Menggunakan MySQLi:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "DELETE FROM Users WHERE id=3";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
Contoh Menghapus Data Menggunakan PDO:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "DELETE FROM Users WHERE id=3";
$conn->exec($sql);
echo "Record deleted successfully";
} catch(PDOException $e) {
echo "Error deleting record: " . $e->getMessage();
}
$conn = null;
?>
Contoh Lengkap Penggunaan MySQLi #
Berikut adalah contoh lengkap untuk menampilkan data dari database menggunakan MySQLi:
<!DOCTYPE html>
<html>
<head>
<title>PHP MySQLi Example</title>
</head>
<body>
<h1>Data Pengguna</h1>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// Membuat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Memeriksa koneksi
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Mengambil data dari tabel Users
$sql = "SELECT id, firstname, lastname, email FROM Users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table border='1'><tr><th>ID</th><th>First Name</th><th>Last Name</th><th>Email</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. "</td><td>" . $row["lastname"]. "</td><td>" . $row["email"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
</body>
</html>
Dengan memahami dan menggunakan berbagai teknik ini, Anda dapat bekerja dengan database dalam PHP untuk membuat aplikasi web yang dinamis dan kuat. Jika ada pertanyaan lebih lanjut atau bagian yang perlu diperjelas, jangan ragu untuk bertanya.