Ankara Üniversitesi
Nallıhan Meslek Yüksekokulu
MySQL veritabanı ile işlemler
NB P238 İL E R I W E B PR OGR AML AMA ÖĞR . GÖR . DR . UFUK T ANYE R I
PHP MySQL Veritabanı
PHP ile veritabanlarına bağlanabilir ve bunları yönetebilirsiniz.
MySQL, PHP ile kullanılan en popüler veritabanı sistemidir.
MySQL nedir?
MySQL web üzerinde kullanılan bir veritabanı sistemidir MySQL, sunucuda çalışan bir veritabanı sistemidir
MySQL, hem küçük hem de büyük uygulamalar için idealdir MySQL çok hızlı, güvenilir ve kullanımı kolaydır
MySQL standart SQL kullanır MySQL birçok platformda derlenir
MySQL'i indirmek ve kullanmak ücretsizdir
MySQL, Oracle Corporation tarafından geliştirilir, dağıtılır ve desteklenir MySQL, kurucu ortağı Monty Widenius'un kızının adını aldı: My
MySQL Veritabanı Hakkında
MySQL Veri Tabanı olan bir PHP sunucunuz yoksa, buradan ücretsiz olarak indirebilirsiniz:
http://www.mysql.com
MySQL, hem büyük veri hem de son kullanıcıların (Facebook, Twitter ve Wikipedia gibi) büyük hacimli web siteleri için fiili standart veritabanı sistemidir.
MySQL ile ilgili bir diğer harika şey, gömülü veritabanı uygulamalarını desteklemek için ölçeklendirilebilmesidir.
MySQL kullanan şirketlere genel bakış için http://www.mysql.com/customers/ adresine bakın.
PHP MySQL'e Bağlanma
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 mi PDO kullanmalı mıyım?
PDO 12 farklı veritabanı sisteminde çalışır, 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.
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 için şu adrese gidin: http://php.net/manual/en/pdo.installation.php
Örnek (MySQLi Yordamı)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Bağlantı oluşturma
$conn = mysqli_connect($servername, $username, $password);
// Bağlantı kontrol if (!$conn) {
die(«Bağlantı başarısız: " . mysqli_connect_error());
}
echo "Başarılı bir şekilde bağlandı";
?>
Örnek (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// PDO hata modunu istisna olarak ayarlama
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Başarılı bir şekilde bağlandı";
}
catch(PDOException $e){
echo "Bağlantı başarısız: " . $e->getMessage();
}
?>
Bağlantıyı Kapatma
MySQLi Prosedürü: mysqli_close($conn);
PDO: $conn = null;
Veritabanı Oluşturma
<?php
// Veritabanı oluşturma
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Başarılı bir şekilde oluşturuldu";
} else {
echo "Veritabanı oluşturma hatası: " . mysqli_error($conn);
}
?>
PHP MySQL Tablo Oluşturma
<?php
$sql = "CREATE TABLE Misafir (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ad VARCHAR(30) NOT NULL,
soyad VARCHAR(30) NOT NULL, eposta VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )";
if (mysqli_query($conn, $sql)) { echo "Table Misafir başarıyla oluşturuldu"; } else { echo "Tablo oluşturma hatası: " . mysqli_error($conn);}
?>
Kaynaklar
[1] PHP MySQL Database. (n.d.). Retrieved from https://
www.w3schools.com/php/php_mysql_intro.asp
[2] PHP Connect to MySQL. (n.d.). Retrieved from https://
www.w3schools.com/php/php_mysql_connect.asp
[3] PHP Create a MySQL Database. (n.d.). Retrieved from https://
www.w3schools.com/php/php_mysql_create.asp
[4] (n.d.). Retrieved from https://www.w3schools.com/php/php_mysql_create_table.asp