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

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

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


Kamu Bankaları Yeni Kredi Paketlerini Yayınladı.( Çeyiz, Araba,Ev)
Kamu Bankaları Yeni...
Venue, Twitter'a rakip olmaya hazırlanıyor
Venue, Twitter'a ra...
'AKINCI' belgeselini izlemedim diyorsanız şimdi izleyin
'AKINCI' belgeselin...
Bill Gates'in korkunç itirafları! - Arslan BULUT
Bill Gates'in korku...
Turkcell, Vodafone ve Türk Telekom'dan açıklama geldi
Turkcell, Vodafone ...
Mark Zuckerberg, dünyanın en zengin 3. insanı oldu
Mark Zuckerberg, dü...