PHP MySQL Pilih Data
Pilih Data Dari Database MySQL
Pernyataan SELECT digunakan untuk memilih data dari satu atau lebih tabel:
SELECT column_name(s)
FROM table_name
atau kita dapat menggunakan karakter * untuk memilih SEMUA kolom dari tabel:
SELECT *
FROM table_name
Untuk mempelajari lebih lanjut tentang SQL, silakan kunjungi tutorial SQL kami .
Pilih Data Dengan MySQLi
Contoh berikut memilih kolom id, firstname dan lastname dari tabel MyGuests dan menampilkannya di halaman:
Contoh (MySQLi Berorientasi objek)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Baris kode untuk menjelaskan dari contoh di atas:
Pertama, kami menyiapkan kueri SQL yang memilih kolom id, nama depan, dan nama belakang dari tabel MyGuests. Baris kode berikutnya menjalankan kueri dan memasukkan data yang dihasilkan ke dalam variabel yang disebut $result.
Kemudian, fungsi num_rows()
memeriksa apakah ada lebih dari nol baris yang dikembalikan.
Jika ada lebih dari nol baris yang dikembalikan, fungsi tersebut fetch_assoc()
menempatkan semua hasil ke dalam larik asosiatif yang dapat kita ulangi. Perulangan while()
loop melalui kumpulan hasil dan mengeluarkan data dari kolom id, nama depan dan nama belakang.
Contoh berikut menunjukkan sama seperti contoh di atas, dengan cara prosedural MySQLi:
Contoh (Prosedural MySQLi)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
Anda juga dapat meletakkan hasilnya dalam tabel HTML:
Contoh (MySQLi Berorientasi objek)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
Pilih Data Dengan PDO (+ Pernyataan yang Disiapkan)
Contoh berikut menggunakan pernyataan yang disiapkan.
Ini memilih kolom id, nama depan dan nama belakang dari tabel MyGuests dan menampilkannya dalam tabel HTML:
Contoh (PDO)
<?php
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
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 MyGuests");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>