Merhaba arkadaşlar. Bu yazımızda Php Mysql bağlantısı nasıl yapılır konusuna değinmeye çalışacağız. Mysql bildiğiniz üzere bir veritabanı yönetim sistemidir. Web sitesinde gezerken üyelik, form gibi olayları, site bilgilerini kaydettiğimiz alana veritabanı denir.
Php 5 ve üzeri sürümler aşağıdaki yöntemler ile mysql veritabanına bağlanabilir.
- MySQLi
- PDO
Php'nin önceki sürümleri mysql yöntemini kullanarak veritabanına bağlanıyordu. Ancak bu yöntem 2012 yılında kaldırılarak yerine yukardaki yöntemler getirildi.
Bu soruya verilebilecek en güzel ve kısa cevap hangisini isterseniz onu kullanabilirsiniz olacaktır.
Hem mySQLi hem de PDO'nun bir avantajlı tarafları vardır. Şu şekilde açıklayacak olursak;
- PDO 12 veritabanı ile bğlantılı çalışabilir. MySQLi ise sadece mysql'e bağlanmak için kullanılır. Dolayısıyıla projede veritabanınızı değiştirmek isterseniz PDO kullanmak size avantaj kazandıracaktır. PDO kullandığınız zaman veritabanını değiştirmek istediğinizde bir kaç satır komutu değiştirmeniz yeterli olacaktır. Aksi takdirde tüm veritabanı kodlarını yeniden yazmanız gerekecektir.
- Her iki yöntem de nesne odaklıdır. Ancak MySQLi ayrıca bir prosedüral API sunmaktadır.
- Her ikisi de güvenlidir ve içlerinde bir takım metotlar la SQL açıklarını minimalize etmenize yardımcı olurlar. SQL güvenlik önlemleri web uygulamalarında önemlidir.
Herhangi bir lokal sunucu programı kurduğunuzda (xampp,wampp,easyphp gibi) Mysqli e PDO bilgisayarınıza otomatik olarak kurulmuş olacaktır. Ben xampp tercih ediyorm.Bu linkten xampp kurulumu nasıl yapılır yazımıza ulaşabilirsiniz.
Mysql veritabanına erişmeden önce sunucuya bağlanmamız gerekmektedir. Ama lokal sunucuda çalışıyorsanız (xampp vs programları kullanarak) sadece sanal sunucuyu başlatmanız yeterli olacaktır. Mysqli kullanarak hem nesne yönelimli olarak hem de prosedüral olarak veritabanına bağlanabilirsiniz.
Nesne Yönelimli Bağlantı İçin:
<?php
$sunucu = "localhost";
$kullanici = "root";
$sifre = "";
// Bağlantı Oluşturma
$conn = new mysqli($sunucu, $kullanici, $sifre);
// Bağlantıyı kontrol etme
if ($conn->connect_error) {
die("Bağlantı Hatası: " . $conn->connect_error);
}
echo "Bağlantı Başarılı";
?>
Prosedürel Bağlantı İçin:
<?php
$sunucu = "localhost";
$kullanici = "root";
$sifre = "";
// Create connection
$conn = mysqli_connect($sunucu, $kullanici, $sifre);
// Check connection
if (!$conn) {
die("Bağlantı Hatası: " . mysqli_connect_error());
}
echo "Bağlantı Başarılı";
?>
PDO ile veritabanına bağlanma şu şekildedir.
<?php
$sunucu = "localhost";
$kullanici = "root";
$sifre = "";
try {
$conn = new PDO("mysql:host=$sunucu;dbname=kodlamaklazim", $kullanici, $sifre);
// Hata Yakalama
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Bağlantı Başarılı";
} catch(PDOException $e) {
echo "Bağlantı Hatası: " . $e->getMessage();
}
?>
Not: Yukarıdaki örnekte ben kendi lokal sunucumda olan veritabanını ekledim. Siz eğer direk kodu kopayalayıp çalıştırırsanız hata verecektir.
Bağlantı sağlandıktan sonra işlemler bittikten sonra bağlantı otomatik olarak kapanacaktır. Ancak daha önce bağlantıyı kapatmak isterseniz aşağıdaki komutları kullanabilirsiniz.
<?php
$conn->close(); // Mysqli nesne yönelimli için
mysqli_close($conn); // Mysqli prosedürel için
$conn = null; // PDO İçin
// Biladerim için
?>
veritabanı ismi nerede? ;)
vertigo65
13-March-2022İçerik için teşekkürler.Sade bir tema kullanırsanı daha iyi olur, zira bilgisayar kaldırmıyor.