mysql_connect

(PHP 4, PHP 5)

mysql_connect — MySQL 서버에 대한 연결 열기

경고 이 확장은 PHP 5.5.0에서 더 이상 사용되지 않으며 PHP 7.0.0에서 제거되었습니다. 대신 MySQLi 또는 PDO_MySQL 확장을 사용해야 합니다. MySQL: API 선택 가이드도 참조하세요. 이 함수의 대안은 다음과 같습니다.


설명

mysql_connect(
    string $server = ini_get("mysql.default_host"),
    string $username = ini_get("mysql.default_user"),
    string $password = ini_get("mysql.default_password"),
    bool $new_link = false,
    int $client_flags = 0
): resource|false
                

MySQL 서버에 대한 연결을 열거나 재사용합니다.


매개변수

server
MySQL 서버. 포트 번호를 포함할 수도 있습니다. 예를 들어 "hostname:port" 또는 로컬 소켓에 대한 경로입니다. 로컬 호스트의 경우 ":/path/to/socket"입니다.

PHP 지시문 mysql.default_host가 정의되지 않은 경우(기본값), 기본값은 'localhost:3306'입니다. SQL 안전 모드에서는 이 매개변수가 무시되고 'localhost:3306' 값이 항상 사용됩니다.

username
username. 기본값은 mysql.default_user에 의해 정의됩니다. SQL 안전 모드에서 이 매개변수는 무시되고 서버 프로세스를 소유한 사용자의 이름이 사용됩니다.
password
비밀번호. 기본값은 mysql.default_password에 의해 정의됩니다. SQL 안전 모드에서 이 매개변수는 무시되고 빈 암호가 사용됩니다.
new_link
동일한 인수로 mysql_connect()를 두 번째 호출하면 새 링크가 설정되지 않지만 대신 이미 열려 있는 링크의 링크 식별자가 반환됩니다. new_link 매개변수는 이 동작을 수정하고 mysql_connect()가 이전에 동일한 매개변수로 호출된 경우에도 항상 새 링크를 열도록 합니다. SQL 안전 모드에서 이 매개변수는 무시됩니다.
client_flags
client_flags 매개변수는 128(LOAD DATA LOCAL 처리 사용), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE 또는 MYSQL_CLIENT_INTERACTIVE 상수의 조합일 수 있습니다. 자세한 내용은 MySQL 클라이언트 상수에 대한 섹션을 읽으십시오. SQL 안전 모드에서 이 매개변수는 무시됩니다.

반환 값

성공하면 MySQL 링크 식별자를 반환하고 실패하면 false를 반환합니다.


Examples

예제 #1 mysql_connect() 예제

                  
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
                  
                

예제 #2 hostname:port 구문을 사용하는 mysql_connect() 예제

                  
<?php
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
                  
                

예제 #3 ":/path/to/socket" 구문을 사용하는 mysql_connect() 예제

                  
<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock

// variant 1: omit localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);


// variant 2: with localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
                  
                

노트

참고:

"localhost" 또는 "localhost:port"를 서버로 지정할 때마다 MySQL 클라이언트 라이브러리는 이를 무시하고 로컬 소켓(Windows에서는 명명된 파이프)에 연결을 시도합니다. TCP/IP를 사용하려면 "localhost" 대신 "127.0.0.1"을 사용하십시오. MySQL 클라이언트 라이브러리가 잘못된 로컬 소켓에 연결을 시도하면 PHP 구성에서와 같이 올바른 경로를 설정하고 서버 필드를 비워 두어야 합니다.

참고:

서버에 대한 링크는 mysql_close()를 명시적으로 호출하여 더 일찍 닫히지 않는 한 스크립트 실행이 끝나는 즉시 닫힙니다.

참고:

"Can't create TCP/IP socket (10106)" 오류는 일반적으로 variables_order configure 지시문이 문자 E를 포함하지 않는다는 것을 의미합니다. Windows에서 환경이 복사되지 않으면 SYSTEMROOT 환경 변수를 사용할 수 없으며 PHP는 Winsock을 로드하는 데 문제가 있습니다.


기타