MySQL Veritabanından Verileri çekme
SELECT deyimi, bir veya daha fazla tablodan veri seçmek için kullanılır:
SELECT column_name(s) FROM table_name
ya da biz bir tablo TÜM sütunları seçmek için * karakterini kullanabilirsiniz:
SELECT * FROM table_name
MySQLi ‘den Veri Çekme
Aşağıdaki örnek MyGuests tablosundan id, ad ve soyad sütunları seçer ve sayfada görüntüler:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// bağlantıyı test et
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) {
// her bir satırı döker
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 results";
}
$conn->close();
?>
id: 1 - Name: John Doe id: 2 - Name: Mary Moe id: 3 - Name: Julie Dooley
mysql_fetch_assoc
mysql_fetch_assoc, mysql_query ile dönen sonuç kümesini işleyerek her satırı bir diziye aktarır. Bu dizi elemanlarının index anahtarları, sütun isimlerinden oluşur. Örnekte; en başta bağlantı dosyamızı içeri aktarıyoruz. Sonra MyGuests tablomuzdan id ve name alanlarını seçiyoruz. Eğer sonuç kümesi boş değilse, her bir satır için while döngüsü ile mysql_fetch_assoc, bilgileri $row isimli bir diziye aktarıyor. Sonra verileri ekrana dökerken bilgileri $row[‘sutun_adi’] formatında çağırıyoruz. Hiç birr kayıt yoksa uyarıp en sonunda “$conn->close()"
bağlantımızı kapatıyoruz.
Aşağıdaki örneğe bakalım:
<?php
$dbanamakine = 'localhost';
$dbkullanici = 'root';
$dbsifre = '';
$baglanti = mysql_connect($dbanamakine, $dbkullanici, $dbsifre);
if(! $baglanti) {
die('Bağlanılamıyor: ' . mysql_error());
}
$sql = 'SELECT id, ad, maas FROM memurlar';
mysql_select_db('ornek_veritabani');
$gelenveri = mysql_query( $sql, $baglanti );
if(! $gelenveri ) {
die('Veri alınamadı: ' . mysql_error());
}
while($row = mysql_fetch_array($gelenveri, MYSQL_ASSOC)) {
echo "ID :{$row['id']} <br> ".
"ADI : {$row['ad']} <br> ".
"MAAŞI : {$row['maas']} <br> ".
"--------------------------------<br>";
}
echo "Başarılı bir şekilde veri alındı\n";
mysql_close($baglanti);
?>
Her bir satır $row adlı arraya aktarılır ve foreach yahut yukardaki örnekte olduğu gibi while döngüsüyle çıktı olarak alınır.