(PHP 4, PHP 5)
mysql_connect — MySQL Sunucusuna bir bağlantı açar
$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
]]]]] ) : resourceBir MySQL sunucusuna bir bağlantı açar veya var olanı tekrar kullanır.
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.
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 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.