mysql_close
mysql_create_db
MySQL 함수 목록
PHP Manual

# mysql_connect

(PHP 4, PHP 5)

mysql_connect — MySQL 서버에 접속

### 설명

resource mysql_connect ([ string `$server` [, string `$username` [, string `$password` [, bool `$new_link` [, int `$client_flags` ]]]]] )

MySQL 서버에 접속을 생성하거나 기존 접속을 재사용한다.

### 인수

`server`

  MySQL 서버명을 입력하며, 포트번호가 포함될 수 있다. 예) "hostname:port" 또는, 로컬호스트를 위해 로컬 소켓 경로가 될 수도 있다. 예) ":/path/to/socket"

  PHP 지시어 mysql.default_host를 지정하지 않았다면(기본값), 'localhost:3306'입니다. SQL 안전 모드에서는, 이 인수를 무시하고 항상 'localhost:3306' 값을 사용합니다.

`username`

  사용자명. 기본값은 mysql.default_user로 지정합니다. SQL 안전 모드에서는, 이 인수를 무시하고 사용중인 서버 프로세스를 소유하는 사용자 이름을 사용합니다.

`password`

  비밀번호. 기본값은 mysql.default_password로 지정합니다. SQL 안전 모드에서는, 이 인수를 무시하고 빈 비밀번호를 사용합니다.

`new_link`

  동일한 인수로 mysql_connect()을 다시 호출하면, 새로운 link가 생성되는 것이 아니라, 이미 생성된 link 식별자 값을 돌려받게 된다. 단, `new_link` 로 mysql_connect()를 호출하면 동일한 인수로 mysql_connect()를 이미 호출하였다 하더라도 항상 새로운 접속을 생성한다. SQL 안전 모드에서는, 이 인수를 무시합니다.

`client_flags`

  `client_flags` 인수는 다음 상수들을 조합하여 사용할 수 있습니다: 128 (LOAD DATA LOCAL 핸들링 활성화), `MYSQL_CLIENT_SSL`, `MYSQL_CLIENT_COMPRESS`, `MYSQL_CLIENT_IGNORE_SPACE`, `MYSQL_CLIENT_INTERACTIVE`. 자세한 정보는 예약 상수를 읽어보십시오. SQL 안전 모드에서는, 이 인수를 무시합니다.

### 반환값

접속 성공시 MySQL link 식별자를 반환하고, 실패시에는 `FALSE`를 반환한다.

### 변경점

버전 | 설명
--- | ---
4.3.0 | `client_flags` 가 추가되었다.
4.2.0 | `new_link` 가 추가되었다.
3.0.10 | `server` 에 ":/path/to/socket" 를 사용할 수 있게 되었다.
3.0.0 | `server` 에 ":port" 를 사용 가능하게 되었다.

### 예제

Example #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);
?>`

Example #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);
?>`

Example #3 ":/path/to/socket" 문법을 사용한 mysql_connect() 예제

`<?php
// we connect to localhost and socket e.g. /tmp/mysql.sock
//variant 1: ommit 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);
?>`

### 주의

> Note: 서버에서는 "localhost" 및 "localhost:port"를 사용할 때마다 로컬 소켓(윈도우에서는 named pipe)으로 접속을 시도한다. TCP/IP를 이용하려면 "localhost" 대신 "127.0.0.1"를 사용하면 된다. MySQL 클라이언트 라이브러리가 로컬 소켓으로 잘못된 접속을 시도한다면, PHP 환경설정에 있는 실행시 설정 항목에 경로를 수정하고, server에 빈 값으로 호출해야 한다.

> Note: 서버로 접속은 mysql_close()을 명시적으로 호출하여 종료하지 않더라도 스크립트가 종료되는 순간 종료될 것이다.

> Note: 함수 이름 앞에 @를 이용하여 접속 실패 에러 메시지를 출력되지 않도록 할 수 있다.

> Note: "Can't create TCP/IP socket (10106)" 오류는 보통 variables_order 설정 지시어에 E가 없을 때 발생합니다. 윈도우에서 SYSTEMROOT 환경 변수를 복사할 수 없다면, PHP에서 Winsock을 로딩할 수 없을 수 있습니다.

### 참고

- mysql_pconnect() - MySQL 서버에 지속 접속 열기
- mysql_close() - MySQL 접속을 닫음

mysql_close
mysql_create_db
MySQL 함수 목록
PHP Manual