PHP MySQL'den Veri Seç PHP MySQL'den Veri Seç

Gönderen: Kaan   Tarih: 2018-10-11 12:49 Kategori: php5egitim | Okundu: 788

PHP 5 Eğitimi ile İlgili Son GönderilerDaha Fazlası

Bir MySQL Veritabanından Veri Seç


SELECT ifadesi, bir veya daha fazla tablodan veri seçmek için kullanılır:

SELECT column_name(s) FROM table_name

veya bir tablodan TÜM sütunları seçmek için * karakterini kullanabiliriz:

SELECT * FROM table_name

 

MySQLi ile Veri Seç

Aşağıdaki örnek MyGuests tablosundan id, firstname ve lastname sütunlarını seçer ve sayfada gösterir:

Örnek (MySQLi Nesne yönelimli)

<?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();
?>

 

Yukarıdaki örnekten açıklanacak kod satırları:

İlk önce, MyGuests tablosundan id, firstname ve lastname sütunlarını seçen bir SQL sorgusu oluşturduk. Sonraki kod satırı sorguyu çalıştırır ve sonuçta elde edilen verileri $ sonuç adlı bir değişkene koyar.

Ardından, function num_rows()sıfırdan fazla satırın döndürülüp döndürülmediğini kontrol eder.

Sıfırdan fazla satır döndürülürse, işlev fetch_assoc()tüm sonuçları döngüleyebileceğimiz bir ilişkisel dizi haline getirir. while()Döngü sonuç kümesi döngüsü ve ad kimliği ve soyadı sütunlarından veri çıkış olarak vermektedir.

Aşağıdaki örnek, MySQLi yönteminde yukarıdaki örnekle aynıdır:

Örnek (MySQLi Procedural)

<?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);
?>

Ayrıca sonucu bir HTML tablosuna da ekleyebilirsiniz:

Örnek (MySQLi Nesne yönelimli)

<?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();
?>

 

PDO ile Veri Seçimi (+ Hazırlanan Deyimler)

Aşağıdaki örnek hazırlanmış ifadeleri kullanır.

MyGuests tablosundan id, firstname ve lastname sütunlarını seçer ve bir HTML tablosunda görüntüler:

Örnek (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>";
?>

 



Yorumlar: (0)

Henüz yorum yapılmamıştır.

Yorum:

CAPTCHA


Kredi faiz oranları arttı!
Kredi faiz oranları...
Facebook hesap silme nasıl yapılır? Facebook Hesap Kapatma
Facebook hesap silm...
Elektrik kesintisi listesi 14 Ocak İstanbul!
Elektrik kesintisi ...
2019 Medya Oscar Ödülleri, sahiplerini buldu!
2019 Medya Oscar Öd...
Cehennem Melekleri 4 ile geri dönüyor!
Cehennem Melekleri ...
Deadpool 3, +18 olarak geliyor
Deadpool 3, +18 ola...
Bitcoin 12 bin dolar birden düştü!
Bitcoin 12 bin dola...
Aşı kayıtları 'aşıla' mobil uygulaması üzerinden yapılacak
Aşı kayıtları 'aşıl...
Antalya'da trafiğe 'akıllı sinyalizasyon sistemi'yle çözüm
Antalya'da trafiğe ...
Hızlı ve Öfkeli 9 uzayda mı geçecek?
Hızlı ve Öfkeli 9 u...