mysql_connect

(PHP 4, PHP 5)

mysql_connectMySQL Sunucusuna bir bağlantı açar

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

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|false

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

Bağımsız Değişkenler

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 bağımsız değişken ö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 bağımsız değişken ö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 bağımsız değişken önemsenmez ve boş parola kullanılır.

yeni_bağlantı

Eğer mysql_connect() aynı bağımsız değişkenlerle 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ı bağımsız değişkeni bu davranışı değiştirir ve mysql_connect(), daha önce aynı bağımsız değişkenlerle çağrılmış olsa bile her zaman yeni bir bağlantı açar. sql.safe_mode'da bu bağımsız değişken önemsenmez.

istemci_seçenekleri

istemci_seçenekleri bağımsız değişkeni ş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 bağımsız değişken önemsenmez.

Dönen Değerler

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

Ö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 kullanılmak istenirse, "localhost" yerine "127.0.0.1" kullanılır. Eğer MySQL istemci kütüphanesi yanlış bir yerel sokete bağlanmaya çalışırsa, doğru yolun php.ini dosyasında mysql.default_host yönergesine atanması ve sunucu alanının boş bırakılması gerekir.

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:

"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

To Top