(PHP 4, PHP 5)
mysql_connect — MySQL Sunucusuna bir bağlantı açar
Bir MySQL sunucusuna bir bağlantı açar veya var olanı tekrar kullanır.
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ı. Ö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. Ö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.
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
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 Öntanımlı Sabitler ile ilgili
bölümü okuyun. sql.safe_mode
'da bu değiştirge önemsenmez.
Başarı durumunda bir MySQL bağlantı belirteci döndürür, hata durumunda FALSE döndürür.
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. |
Ö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);
?>
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 Çalışma Anı Yapılandırması 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.