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. 🙂