mysql_connect

(PHP 4, PHP 5)

mysql_connectMySQL Sunucusuna bir bağlantı açar

Açıklama

mysql_connect ([ string $sunucu = ini_get("mysql.default_host") [, string $kullanıcı_adı = ini_get("mysql.default_user") [, string $parola = ini_get("mysql.default_password") [, bool $yeni_bağlantı = false [, int $istemci_seçenekleri = 0 ]]]]] ) : resource

Bir MySQL sunucusuna bir bağlantı açar veya var olanı tekrar kullanır.

Değiştirgeler

sunucu

MySQL sunucusu. "konak_adı:port" biçiminde ayrıca bir de port içerebileceği gibi localhost için belirtildiğinde ":/bir/yol/soket" biçiminde yerel bir sokete bir yol da belirtebilir.

Eğer mysql.default_host PHP yönergesi tanımsızsa (öntanımlı), öntanımlı değer 'localhost:3306''dır. sql.safe_mode'da bu değiştirge önemsenmez ve her zaman 'localhost:3306' değeri kullanılır.

kullanıcı_adı

Kullanıcı adı. Öntanımlı değer mysql.default_user ile tanımlanır. sql.safe_mode'da, bu değiştirge önemsenmez ve sunucu sürecinin sahibi olan kullanıcı kullanılır.

parola

Parola. Öntanımlı değer mysql.default_password ile tanımlanır. sql.safe_mode'da, bu değiştirge önemsenmez ve boş parola kullanılır.

yeni_bağlantı

Eğer mysql_connect() aynı değiştirgelerle ikinci kez çağrılırsa, yeni bir bağlantı kurulmaz, zaten açık olan bağlantının belirteci döndürülür. yeni_bağlantı değiştirgesi bu davranışı değiştirir ve mysql_connect(), daha önce aynı değiştirgelerle çağrılmış olsa bile her zaman yeni bir bağlantı açar. sql.safe_mode'da bu değiştirge önemsenmez.

istemci_seçenekleri

istemci_seçenekleri değiştirgesi şu sabitlerin bir karışımı olabilir: 128 (LOAD DATA LOCAL tutamağı etkin), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE veya MYSQL_CLIENT_INTERACTIVE. Daha fazla bilgi için MySQL istemci sabitleri ile ilgili bölümü okuyun. sql.safe_mode'da bu değiştirge önemsenmez.

Dönen Değerler

Başarı durumunda bir MySQL bağlantı belirteci döndürür, hata durumunda FALSE döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
4.3.0 istemci_seçenekleri değiştirgesi eklendi.
4.2.0 yeni_bağlantı değiştirgesi eklendi.

Örnekler

Örnek 1 - mysql_connect() örneği

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Bağlanamadı: ' mysql_error());
}
echo 
'Başarıyla bağlandı';
mysql_close($link);
?>

Örnek 2 - konak_adı:port sözdizimini kullanan mysql_connect() örneği

<?php
// 3307 portundan example.com'a bağlanıyoruz
$link mysql_connect('example.com:3307''mysql_user''mysql_password');
if (!
$link) {
    die(
'Bağlanamadı: ' mysql_error());
}
echo 
'Başarıyla bağlandı';
mysql_close($link);

// 3307 portundan localhost'a bağlanıyoruz
$link mysql_connect('127.0.0.1:3307''mysql_user''mysql_password');
if (!
$link) {
    die(
'Bağlanamadı: ' mysql_error());
}
echo 
'Başarıyla bağlandı';
mysql_close($link);
?>

Örnek 3 - ":/bir/yol/soket" sözdizimini kullanan mysql_connect() örneği

<?php
// localhost ve sokete, örneğin /tmp/mysql.sock, bağlanıyoruz

// 1. yol: localhost'u ihmal ederek
$link mysql_connect(':/tmp/mysql''mysql_user''mysql_password');
if (!
$link) {
    die(
'Bağlanamadı: ' mysql_error());
}
echo 
'Başarıyla bağlandı';
mysql_close($link);


// 2. yol: localhost ile
$link mysql_connect('localhost:/tmp/mysql.sock''mysql_user''mysql_password');
if (!
$link) {
    die(
'Bağlanamadı: ' mysql_error());
}
echo 
'Başarıyla bağlandı';
mysql_close($link);
?>

Notlar

Bilginize:

Sunucu olarak "localhost" veya "localhost:port" belirttiğinizde, MySQL istemci kütüphanesi bunu geçersiz kılar ve yerel bir sokete (Windows'ta boru hattı (pipe) denir) bağlanmaya çalışır. TCP/IP kullanmak istiyorsanız, "localhost" yerine "127.0.0.1" kullanın. Eğer MySQL istemci kütüphanesi yanlış bir yerel sokete bağlanmaya çalışırsa, doğru yolu PHP ayarlarınızda yönergesiyle ayarlamalı ve sunucu alanını boş bırakmalısınız.

Bilginize:

Sunucuya bağlantı, eğer daha önceden mysql_close() kullanılarak kapatılmadıysa, betiğin çalışması biter bitmez kapatılır.

Bilginize:

Hata iletisini işlev adının önüne bir @ imi koyarak önleyebilirsiniz.

Bilginize:

"Can't create TCP/IP socket (10106)" hatası genellikle variables_order yapılandırma yönergesinin E harfini içermediği anlamına gelir. Windows'ta, ortam kopyalanmadıysa SYSTEMROOT ortam değişkeni kullanılamaz ve PHP Winsock'u yüklerken sorun yaşar.

Ayrıca Bakınız