İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Turkphp Dersleri: mysql_connect

FrontPage

0
İyinet Üyesi
Katılım
31 Aralık 2003
Mesajlar
475
Reaction score
0
Konum
Yozgat
Merhaba arkadaşlar

turkphp.com web sitesini bir hayli uzun zaman önce açtım ama orjinal makale henüz yayınlamamıştım. Artık gün gün bir takım konulara değinerek yararlı olmaya çalışmak istiyorum.
İlk makaleyi mysql_connect üzerine yaptım. umarım beğenirsiniz.

Fonksiyon adı: mysql_connect, mysql_pconnect

Yaptığı işlev: mySQL veritabanına bağlanmayı sağlar. Daha açık bir tabirle mySQL veritabanı ile iletişimin ilk adımıdır.

Kullanımı: mysql_connect(host : port, username, password)

Sonucu: Boolean (true, false – 1, 0 – doğru, yanlış)



Bu bilgiler doğrultusunda hemen bir örnek verecek olursak



PHP:
 <?php

            $conn = mysql_connect("localhost", "turkphp", "turkphpparola");

?>
Bu işleme göre veritabanına bağlandık, bağlanamazsak PHP’ye göre verilmesi gereken hatayı gördük ve işlemimiz bağlanmasa bile devam ediyor. Hemen hata kontrolu ile işlemimizi devam ettirelim. Örneğimizi şu şekilde genişletebiliriz.



PHP:
 <?php

            $conn = mysql_connect("localhost", "turkphp", "turkphpparola");

            if ($conn) {

                        echo "Karitik Hata: mySQL veritabanına bağlantı sağlanamadı.";

                        die();

            }

?>
Bu örnekte ise mySQL veritabanına bağlantıyı sağlamaya çalıştık, bağlanamazsak ekrana PHP’ye göre verilmesi gereken hata mesajı verildi ve bizim bağlantının sağlanamadığını belirten Kritik Hata mesajımız verildikten sonra program durduruldu (durdurma işlemini die() sağladı)



Küçük soru ve cevaplar:

Soru: Peki ekranda PHP’nin hata mesajını göstermek istemezsen ne yapmalıyız?.

Cevap: mysql_connect fonksiyonunun önüne @ eklememiz gerekir. Örnek:
PHP:
$conn = mysql_connect("localhost", "kullaniciadi", "parola")
Bu işlemi yaptığımızda PHP’nin bu fonksiyonla ilgili olumsuz cevap vermesindeki hata mesajını ekrana vermemesini sağladı.



Soru: mysql_connect ile mysql_pconnect arasındaki fark nedir?

Cevap: mysql_connect ile normal bir soket bağlantısı yapılırken mysql_pconnect ile persistent connection sağlarız. Peki arasındaki fark nedir ki iki ayrı fonksiyon oluşmuş? Persistent kelimesinin İngilizce anlamı sürekli, kalıcı, ısrarcı demektir. Buna göre mysql_pconnect ile kullandığımız zaman kalıcı bir bağlantı sağlanmış olur. Bu sürekli işlem yapılan siteler için yararlı olabilecek bir seçenektir. Yüksek hitli sitelerde duruma göre performansı arttırmaktadır.



Soru: mySQL veritabanına komut göndermek için bu işlemler yeterli mi?

Cevap: Hayır. Gördüğünüz üzere elimizde olması gereken verilerden sadece üç tanesini kullandık. Dördüncü veriyi kullanmadık. Bu dördüncü ise veritabanımızın adıdır. Bunu mysql_select_db() fonksiyonu ile sağlayacağız. Bir sonraki makalemiz bunun üzerine olacaktır.



Soru: mysql_connect kullanımında host : port şeklinde açıkladık ama kullanımda neden port yazmadık?

Cevap: mySQL veritabanının varsayılan portu 3306’dır. Sunucularımızda çoğunluk bu port varsayılanda tutulduğu için bunu ayrıca belirtmeye gerek yoktur. Bu ayarı php.ini içerisinde belirtilen mysql.default_socket ayarında bulabilirsiniz.



Soru: Uzan sunucumdaki mySQL sunucuma parola doğru olduğu halde bağlanamıyorum. Bunun nedeni nedir?

Cevap: mySQL veritabanında kullanıcılar oluşturulurken bağlanılmasını istediğimiz sunucu için ayrıca ip yada host ekleyebiliriz. Bunun mysql_connect ile bir ilgisi yoktur. Bununla ilgili daha sonra makaleler yayınlanacaktır. Ayrıca yeri gelmişken söylemek istiyorum. Zorunlu olmadıkça uzak sunucudaki veritabanıza bağlanmayın. Bu 100 Mbit hızında lokal bağlantı sağlanmış olsa bile işleminizi %20 oranına yakın bir oranda yavaşlatacaktır. Bunun için performansı düşürmememiz gerekiyorsa bunu yapmamalıyız.

Turkphp Dersleri: mysql_connect
 

gifted

0
İyinet Üyesi
Katılım
5 Ocak 2005
Mesajlar
2,122
Reaction score
1
Konum
NeverLand
makale için teşekkürler eğer kod bölümlerini code tagları arasına yazarsan smiley şekilleri çıkmaz ve daha düzenli bir görüntü oluşur.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst