MySQL'e Bağlanma

php 2020-03-03 01:31:13 37

PHP 5 ve üstü bir MySQL veritabanı ile çalışabilir:

MySQLi uzantısı ("i" gelişmiş anlamına gelir)
PDO (PHP Veri Nesneleri)
PHP'nin önceki sürümlerinde MySQL uzantısı kullanılıyordu. Ancak, bu uzantı 2012 yılında kullanımdan kaldırılmıştır.

MySQLi veya PDO kullanmalı mıyım?
Kısa bir cevaba ihtiyacınız varsa, "Ne istersen" olurdu.

Hem MySQLi hem de PDO'nun avantajları vardır:

PDO 12 farklı veritabanı sisteminde çalışacak, MySQLi ise yalnızca MySQL veritabanlarıyla çalışacaktır.

Dolayısıyla, projenizi başka bir veritabanı kullanacak şekilde değiştirmeniz gerekiyorsa, PDO işlemi kolaylaştırır. Yalnızca bağlantı dizesini ve birkaç sorguyu değiştirmeniz gerekir. MySQLi ile, kod sorgularının tamamını yeniden yazmanız gerekir.

Her ikisi de nesne yönelimlidir, ancak MySQLi ayrıca prosedürel bir API sunar.

Her ikisi de Hazırlanan İfadeleri destekler. Hazırlanan İfadeler SQL enjeksiyonundan korur ve web uygulaması güvenliği için çok önemlidir.

Hem MySQLi hem de PDO Sözdiziminde MySQL Örnekleri
Bu ve aşağıdaki bölümlerde PHP ve MySQL ile çalışmanın üç yolunu gösteriyoruz:

MySQLi (nesne yönelimli)
MySQLi (prosedürel)
PDO
MySQLi Kurulumu
Linux ve Windows için: MySQLi uzantısı çoğu durumda php5 mysql paketi yüklendiğinde otomatik olarak yüklenir.

Yükleme ayrıntıları için şu adrese gidin: http://php.net/manual/en/mysqli.installation.php

PDO Kurulumu
Yükleme ayrıntıları için şu adrese gidin: http://php.net/manual/en/pdo.installation.php

MySQL Bağlantısı Açma
MySQL veritabanındaki verilere erişebilmemiz için sunucuya bağlanabilmemiz gerekir:

Örnek (MySQLi Nesneye Yönelik)
<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

Yukarıdaki nesneye yönelik örnek hakkında not:

$ connect_error PHP 5.2.9 ve 5.3.0'a kadar kırıldı. 5.2.9 ve 5.3.0'dan önceki PHP sürümleriyle uyumluluk sağlamanız gerekiyorsa, bunun yerine aşağıdaki kodu kullanın:

//
(mysqli_connect_error ()) {
   die ("Veritabanı bağlantısı başarısız oldu:". Mysqli_connect_error ());
}

Örnek (MySQLi Yordamı)
<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
   die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

Örnek (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
   // set the PDO error mode to exception
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   echo "Connected successfully";
   }
catch(PDOException $e)
   {
   echo "Connection failed: " . $e->getMessage();
   }
?>

Not: Yukarıdaki PDO örneğinde ayrıca bir veritabanı (myDB) belirttik . PDO, bağlanmak için geçerli bir veritabanı gerektirir. Herhangi bir veritabanı belirtilmezse, bir istisna atılır.

  • Paylaşın: