Bu yazımızda Php ile Mysql kullanarak veritabanından veri çekme işlemi olan select yapısına değineceğiz. Sql bilginiz varsa bu konu size oldukça kolay gelecektir. Veritabanı işlemlerinin temel konusu select işlemleridir.
Select işlemi bir veya birden fazla tablodan veri çekmek için kullanılır. Temel sözdizimi şu şekildedir.
SELECT sütunAdi (ya da adları) FROM tablo_adi
* karakterini kullaanrak tüm sütunları seçebiliriz.
SELECT * FROM tablo_adi
Aşağıdaki örnek veritabanındaki users tablosundan ad_soyad,yas ve cinsiyet değerlerini ekrana getirir.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "egitim";
// Bağlantı oluşturma
$conn = new mysqli($servername, $username, $password, $dbname);
// Bağlantı Doğrulama
if ($conn->connect_error) {
die("Bağlantı hatası: " . $conn->connect_error);
}
$sql = "SELECT ad_soyad, yas, cinsiyet FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Verileri döngüye sokuyoruz
while($row = $result->fetch_assoc()) {
echo "Ad soyad: " . $row["ad_soyad"]. " - Yaş: " . $row["yas"]. " Cinsiyet:" . $row["cinsiyet"]. "<br>";
}
} else {
echo "0 sonuç";
}
$conn->close();
?>
Yukarıdaki kodu açıklayacak olursak
İlk olarak users tablosundan istediğimiz sütunları getirecek bir sorgu yazıyoruz.
Daha sonra num_rows() fonksiyonuyla 0'dan fazla veri olup olmadığını kontrol ediyoruz.
Eğer sıfırdan fazla sonuç varsa fetch_assoc() fonksiyonu bize verileri döngüye sokabileceğimiz şekilde dizi halinde veriyor.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "egitim";
// Bağlantı Oluşturma
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Bağlantı Doğrulama
if (!$conn) {
die("Bağlantı Hatası: " . mysqli_connect_error());
}
$sql = "SELECT ad_soyad, yas, cinsiyet FROM users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "Ad Soyad: " . $row["ad_soyad"]. " - Yaş: " . $row["yas"]. " " . $row["cinsiyet"]. "<br>";
}
} else {
echo "0 sonuç";
}
mysqli_close($conn);
?>
<?php
try {
$dsn = "mysql:host=localhost;dbname=egitim;charset=utf8mb4";
$user = "root";
$passwd = "";
$db = new PDO($dsn, $user, $passwd);
$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);
$db = $db->query("SELECT * FROM users");
$oku = $db->fetchAll(PDO::FETCH_ASSOC); //verilerin hepsi
foreach ($oku as $row) {
echo "Adı:".$row['ad_soyad']." Yaş:".$row['yas']." <br/>";
}
} catch ( PDOException $e ){
echo "Bir Hata Oluştu: ".$e->getMessage();
}
?>