PHP MySQL Bağlantısı
Yazıda PHP ile MySQL bağlantı yapmak, kontrol etmek, Türkçe karakter seti tanımlamak ve bağlantıyı kapatma ile ilgili bilgiler yer almaktadır.
PHP ile MySQL işlemleri yapmak için öncelikle MySQL bağlantısının yapılması gerekir.
PHP ile MySQL bağlantısının çeşitli yöntemleri (MySQLi OOP, PDO, mysql_, mysqli_,) vardır.
Bu yazıda MySQLi OOP ile bağlantının nasıl yapılacağı anlatılacaktır.
PHP OOP Derslerine buradan ulaşabilirsiniz.
MySQLi OOP ile bağlantı sağlamak için mysqli sınıfı kullanılır.
Sınıfın kurucu metodu bağlantı için çeşitli parametreleri alır.
<?php
$baglanti = new mysqli("host", "username", "password", "dbname", port, "socket");
?>
Parametre ve açıklamaları;
host: MySQL sunucu adresini belirtir (genellikle localhost),
username: MySQL kullanıcı adını belirtir (genellikle root),
password: MySQL kullanıcısının şifresini belirtir (genellikle yoktur veya 123456),
dbname: MySQL veritabanını belirtir,
port: MySQL port numarasını belirtir (pek kullanılmaz varsayılan 3306),
socket: Linux sistemler için socket yolunu belirtir (pek kullanılmaz).
Parametreler MySQL sunucu yapılandırmasına göre düzenlenerek bağlantı sağlanır.
Örnek MySQL bağlantısı kodu
<?php
$baglanti = new mysqli("localhost", "root", "", "test");
?>
Bağlantının başarılı olup olmadığını öğrenmek için bağlantının kontrol edilmesi faydalı olacaktır.
Bağlantı durumuna göre mysqli sınıfı connect_errno ve connect_error özelliğine çeşitli değerler atar.
Bu değerleri kontrol ederek bağlantını durumu kontrol edilir.
<?php
$baglanti = new mysqli("localhost", "root", "", "test");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
echo "MySQL bağlantısı başarıyla gerçekleştirildi.";
?>
Türkçe karakter sorunu ile karşılaşmamak için karakter setinin kontrol edilmesi ve uygun karakter setinin belirlenmesi faydalı olacaktır.
<?php
$baglanti = new mysqli("localhost", "root", "", "test");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
print_r($baglanti->get_charset()); // karakter seti bilgileri
$baglanti->set_charset("utf8");
?>
Türkçe karakter sorunu dosya kodlama formatından, veritabanı karakter kodlama seçiminden veya HTML meta etiketlerinden kaynaklanabilir.
Bağlantı yapılıp, kontrollerin ve karakter setinin belirlenmesinden sonra bağlantının kapatılması faydalı olacaktır.
<?php
$baglanti = new mysqli("localhost", "root", "", "test");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
$baglanti->set_charset("utf8");
$baglanti->close();
?>
PHP MySQL Derslerine buradan ulaşabilirsiniz…
Hayırlı günler dilerim.