PHP ve MySQL ile uğraşanlar bilir . Yakın bir süre önce artık PHP 5.5 geldi ve yeni bir çığır açtı desek pek yanlış söylemiş olmayız.
PHP 5.5 ile gelen yeniliklerin başında MySQL yerine MySQLi kullanımı oldu . Artık mysql_ li sorgularımız tarih oluyor.
Günümüzde artık bilgisayarlar yükü sırtlanmış durumda. Bu da yeni ihtiyaçlar ve yenilikler doğuruyor .
PHP ve MySQL ile uğraşanlar bilir: Yakın bir süre önce artık PHP 5.5 geldi ve yeni bir çığır açtı desek pek yanlış söylemiş olmayız.
PHP 5.5 ile gelen yeniliklerin başında MySQL yerine MySQLi kullanımı oldu . Artık mysql_ li sorgularımız tarih oluyor.
Bunu php.net şöyle duyurdu:
“This extension is not recommended for writing new code. Instead, either the mysqli or PDO_MySQL extension should be used.
See also the MySQL API Overview for further help while choosing a MySQL API.”
Burada php.net açık bir şekilde, “PDO ve MySQLi öğrenin ey yazılımcılar!” diyor.
Tamam o zaman, bu kavramları açıklayalım.
MySQLi (MySQL Improved Extension) nedir ?
PHP 5 ile gelen bir uzantı. Database işlemleri için konusunda daha güvenlikli bir özelliği var diyebiliriz . Mesela verilerimizin güvenliği için kullanılan mysql_real_escape_string varsayılan olarak kullanıldığı için ayrıca çağırmaya gerek yok.
MySQLi ile çalışmak için yapılması gereken tek şey PHP’nin 5 ve üzeri bir sürümünü kullanmak, php.ini’nin içindeki:
extension = php_mysqli.dll
satırını eklemek .
MySQLi de veritabanı bağlantısı ;
$veritabani= new mysqli(‘localhost’, ‘root’, ‘123’,
‘sanalkurs’);
$veritabani = mysqli_connect(‘localhost’, ‘root’,
‘123’, ‘sanalkurs’);
PDO (PHP Data Object) nedir?
PDO, gelişmiş bir veritabanı yönetimi eklentisidir. Bu eklenti MySQL’in yanısıra MySQL dışında da birçok veritabanını desteklemekte
ve böylece veritabanınızı değiştirdiğiniz durumlarda kodları değiştirmeye gerek kalmamaktadır. PDO’nun desteklediği veritabanlarını aşağıda bulabilirsiniz:
PDO, gelişmiş bir veritabanı yönetimi eklentisi olup MySQL‘den farklı olarak birçok veritabanı destekler.
Böylece veritabanımızı değiştirdiğimizde kod değişikliğine gerek kalmaz.
İşte PDO‘nun desteklediği veritabanları ;
• Cubrid
• FreeTDS / Microsoft SQL Server / Sybase
• Firebird/Interbase 6
• IBM DB2
• IBM Informix Dynamic Server
• MySQL 3.x/4.x/5.x
• Oracle Call Interface
• ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
• PostgreSQL
• SQLite 3 and SQLite 2
• MS SQL Server / SQL Azure
Bu da PDO ile veritabanı bağlantısı ve veri çekme örneğimiz.
Not: Kod php.net ‘ e aittir .
//Kodlarımız
$pdo = new PDO(‘mysql:host=example.com;dbname=database’,
‘user’, ‘password’);
$statement = $pdo->query(“SELECT ‘Hello, dear MySQL user!’
AS _message FROM DUAL”);
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row[‘_message’]);