PHP ile MySQL veri tabanına bağlanmak

____________________________________________________________________

Sitede istatistik amacıyla WordPress harici bir PHP dosyasından veri tabanına bağlanıp veri girmem gerekti. WordPress sayfalarında bu $wpdb->query(“SELECT …”) şeklinde yapılabiliyor, bu WordPress’in kendi bir kolaylığı. Bunun WordPress kullanmadan yapmanın biraz zor olduğunu sanıyordum ama ne yazık ki değilmiş. 🙂

Biraz araştırdım ve nasıl bağlanılacağı vs. bilgileri kolayca buldum, eee sonuçta PHP ve MySQL ikilisi.

MySQL veri tabanına bağlanmak için öncelikle şöyle bir PHP kodu gerekli:

<?php
$dbhost = ‘sunucuismi’;
$dbkullanici = ‘kullaniciadi’;
$dbparola = ‘parola’;

$baglanti = mysql_connect($dbhost, $dbkullanici, $dbparola) or die (‘MySQL’e bağlanılamadı’);

$dbismi = ‘veritabaniismi’;
mysql_select_db($dbismi);
?>

Koddaki sunucuismi, kullanici adı gibi değerler kodun kullanıldığı sunucuya göre düzenleniyor, buralara kontrol panelinde belirlenen sunucu ismi, veri tabanı kullanıcısı ve parola giriliyor. Sonraki kod ise verdiğiniz değerlerle veri tabanı sunucusuna bağlanıyor ve bağlanamzsa die() içindeki yazıyı gösteriyor. En sondaki metot ile de seçilen isimdeki veri tabanına bağlanılıyor.

Veri tabanına bağlanıp işimizi bitirdikten sonra da kapatmamız gerekliyiş. Bunun için de şu kodu kullanıyoruz:

<?php
mysql_close($baglanti);
?>

Aslında kod içinde String ( $yazi.. ) kullanmaya gerek yok, buna karşılık olarak yazdığınız değerleri doğrudanmysql_connect() yöntemine de yazabilirsiniz. Ancak değiştirirken vs. kolaylık olması için ayrı olarak yazmanız daha iyidir. Fazladan birkaç kilobayt bellek kullanacaktır ancak önemli değil. 🙂

Bir de  veri tabanında veriye daha kolay erişmek için her satıra bir numara verme yöntemi var, böylece doğrudan o sayıdaki satırdan istenen sütundan veriyi alıyorsunuz. Bu beni biraz uğraştırdı, çünkü İnternet’te bulduğum bazı kodlar bende çalışmadı.

Bu kısaca yapılacağı tabloda her satır için bir sayı değerinin tutulacağı bir sütun gerektiriyor ve bu sütundaki değer tabloya her yeni satır eklendiğinde yeni satırda bir öncekinden bir (veya ayarların göre farklı olabiliyor) fazla oluyor. Bunun için bu sütunu oluştururken buna bir sayı değeri vermeli ve seçeneklerden  “Auto increment” seçeneğini seçmelisiniz. Bu seçenek her yeni satırda numara sütunundaki sayı değerinin artmasını sağlayacak.

Burada sorgumda bir problem vardı, veriyi bir türlü yeni satırda giremiyordum. SQL sorgusunda INSERT INTO ile verinin girileceği tablo ve satırı belirledikten sonra girilecek veriyi belirlediğimiz VALUES kısmında numara sütununa “null” değer vermeliymişiz. Basit birşey ama hiç bu değeri yazmadan ya da oradaki sayıyı arttıracak farklı PHP kodlarıyla sorgularla denedim ama en sonunda buldum, çare basit bir null yazmakmış. Bir de bu olayda her satırda güncellenen numara tablonun dışında bir yerde de tutuluyor, böylece en sondaki satırları silseniz bile yeni eklenenlerin sayı değerleri bunların devamı oluyor.

Neyse, zaten kendim doğru düzgün anlamıyorum, bir tek işim düştüğünde bakıyorum yapıyorum, size de öğretmenlik taslamayayım çok fazla. 🙂