Veritabanına Bağlanma

PHP'de veritabanı işlemleri yapabilmek için öncelikle veritabanına bağlanmamız gerekiyor. Bunun için mysqli_connect() veya PDO gibi fonksiyonlar kullanabiliriz.

mysqli_connect() fonksiyonu ile MySQL veritabanına bağlanmak için aşağıdaki gibi bir örnek kullanılabilir:

$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "veritabani_adi";

// Bağlantı oluşturma
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Bağlantıyı kontrol etme
if (!$conn) {
    die("Bağlantı hatası: " . mysqli_connect_error());
}
echo "Bağlantı başarılı!";

Bu örnekte $servername değişkeni veritabanının bulunduğu sunucu adresini, $username ve $password değişkenleri veritabanı kullanıcısının adını ve şifresini, $dbname değişkeni de veritabanının adını içermektedir. Bağlantı oluşturulduktan sonra mysqli_connect_error() fonksiyonu ile bir hata olup olmadığı kontrol edilir ve bağlantı başarılı mesajı ekrana yazdırılır.

PDO ile MySQL veritabanına bağlanmak için ise aşağıdaki gibi bir örnek kullanılabilir:

$servername = "localhost";
$username = "kullanici_adi";
$password = "parola";
$dbname = "veritabani_adi";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // Bağlantıyı ayarla
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Bağlantı başarılı!";
}
catch(PDOException $e) {
    echo "Bağlantı hatası: " . $e->getMessage();
}

Bu örnekte de $servername, $username, $password ve $dbname değişkenleri yine kullanılmaktadır. Bağlantı oluşturulurken new PDO() ifadesi kullanılır ve $servername ve $dbname değişkenleri mysql:host= ve dbname= ile birleştirilerek verilir. Bağlantı oluşturulduktan sonra hata kontrolü yapılarak bağlantı başarılı mesajı veya hata mesajı ekrana yazdırılır.

Veritabanına bağlanırken kullanıcı adı ve şifre gibi bilgilerin açık olarak kod içinde yer almaması için bu bilgiler genellikle bir konfigürasyon dosyasında saklanır ve kod içinde bu dosyadan okunarak kullanılır.

Last updated

Was this helpful?