PHP MySQL 함수
- 이전 페이지 PHP Math
- 다음 페이지 PHP MySQLi
PHP MySQL 개요
MySQL 함수는 MySQL 데이터베이스 서버에 접근할 수 있도록 합니다.
설치
이 클래스 함수를 원활하게 사용할 수 있도록 PHP를 컴파일할 때 MySQL 지원을 추가해야 합니다.
컴파일할 때 --with-mysql[=DIR] 구성 옵션을 사용하면 됩니다. 선택적인 [DIR]는 MySQL 설치 디렉토리를 가리킵니다.
이 MySQL 확장 라이브러리는 MySQL 4.1.0 이상의 버전과 호환되지만, 이 버전에서 제공하는 추가 기능을 지원하지 않습니다. 이 기능을 사용하려면 MySQLi 확장 라이브러리를 사용하세요.
mysql 확장 라이브러리와 mysqli 확장 라이브러리를 동시에 설치하려면, 충돌을 피하기 위해 동일한 클라이언트 라이브러리를 사용해야 합니다.
Linux 시스템에서 설치
PHP 4
기본적으로 --with-mysql 옵션을开启了. 이 기본 동작은 --without-mysql 구성 옵션을 사용하여 차단할 수 있습니다. MySQL을 사용하려면 설치 디렉토리를 지정하지 않으면 PHP가 바인딩된 MySQL 클라이언트 연결 라이브러리를 사용합니다.
MySQL을 사용하는 다른 응용 프로그램(예: auth-mysql)의 사용자는 바인딩된 라이브러리를 사용하지 않고 MySQL 설치 디렉토리를 지정해야 합니다. 예를 들어: --with-mysql=/path/to/mysql. 이렇게 하면 PHP가 MySQL 설치와 함께 설치된 클라이언트 연결 라이브러리를 사용하도록 강제되어, 어떤 충돌도 발생하지 않습니다.
PHP 5+
MySQL 기본적으로 비활성화되어 있으며, 바인딩된 MySQL 라이브러리도 없습니다. MySQL 지원을 추가하기 위해 --with-mysql[=DIR] 구성 옵션을 사용하세요. 다음과 같이 MySQL 설치 디렉토리를 지정할 수 있습니다: --with-mysql=/path/to/mysql. 이렇게 하면 PHP가 MySQL 설치와 함께 설치된 클라이언트 연결 라이브러리를 사용하도록 강제되어, 어떤 충돌도 발생하지 않습니다. MySQL 헤더 파일과 라이브러리를 다운로드하세요.
Windows 시스템에서 설치
PHP 4
PHP MySQL 확장은 PHP에 컴파일되었습니다.
PHP 5+
MySQL 기본적으로 비활성화되어 있으므로 php.ini에서 php_mysql.dll 동적 라이브러리를 활성화해야 합니다. 또한, PHP는 MySQL 클라이언트 연결 라이브러리에 접근해야 합니다. PHP의 Windows 배포판에는 libmysql.dll이 포함되어 있으며, PHP가 MySQL과 대화를 할 수 있도록 이 파일을 Windows의 시스템 경로 PATH에 배치해야 합니다.
PHP 확장 라이브러리(예: php_mysql.dll)를 활성화하려면 PHP 명령어 extension_dir를 PHP 확장 라이브러리가 있는 디렉토리로 설정해야 합니다. PHP 5에서 extension_dir 값의 예는 c:\php\ext입니다.
주석:웹 서버를 시작할 때 아래와 같은 오류가 발생하면: "Unable to load dynamic library './php_mysql.dll'" 이는 시스템이 php_mysql.dll 및 / 또는 libmysql.dll을 찾을 수 없기 때문입니다.
런타임 설정
MySQL 함수의 행동은 php.ini에서 설정된 것에 영향을 받습니다.
MySQL 설정 옵션:
이름 | 기본 | 설명 | 변경 가능 |
---|---|---|---|
mysql.allow_persistent | "1" | MySQL의 지속적인 연결을 허용할지 여부. | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | 각 프로세스에서 최대 지속적인 연결 수. | PHP_INI_SYSTEM |
mysql.max_links | "-1" | 각 프로세스에서 최대 연결 수, 지속적인 연결 포함. | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | 트래킹 모드. PHP 4.3.0부터 사용 가능. | PHP_INI_ALL |
mysql.default_port | NULL | 기본적으로 사용하는 데이터베이스에 연결하는 TCP 포트 번호를 지정합니다. | PHP_INI_ALL |
mysql.default_socket | NULL | 기본적으로 사용하는 소켓 이름. PHP 4.0.1부터 사용 가능. | PHP_INI_ALL |
mysql.default_host | NULL | 기본적으로 사용하는 서버 주소. SQL 보안 모드에 적용되지 않습니다. | PHP_INI_ALL |
mysql.default_user | NULL | 기본적으로 사용하는 사용자 이름. SQL 보안 모드에 적용되지 않습니다. | PHP_INI_ALL |
mysql.default_password | NULL | 기본적으로 사용하는 비밀번호. SQL 보안 모드에 적용되지 않습니다. | PHP_INI_ALL |
mysql.connect_timeout | "60" | 연결 초과 시간(초). | PHP_INI_ALL |
자원 유형
MySQL 모듈에서 두 가지 자원 유형이 사용됩니다. 첫 번째는 데이터베이스 연결 핸들입니다. 두 번째는 SQL 쿼리가 반환하는 결과 집합입니다.
PHP MySQL 함수
PHP:이 함수를 지원하는 가장 빠른 PHP 버전을 지시합니다.
함수 | 설명 | PHP |
---|---|---|
mysql_affected_rows() | 마지막 MySQL 작업이 영향을 미친 레코드 행 수를 얻습니다. | 3 |
mysql_change_user() | 지지되지 않습니다. 활성 연결에서 로그인한 사용자를 변경합니다. | 3 |
mysql_client_encoding() | 현재 연결의 문자 집합 이름을 반환합니다. | 4 |
mysql_close() | 비영구적인 MySQL 연결을 닫습니다. | 3 |
mysql_connect() | 비영구적인 MySQL 연결을 엽니다. | 3 |
mysql_create_db() | 지지되지 않습니다. MySQL 데이터베이스를 생성합니다. mysql_query()를 대신 사용합니다. | 3 |
mysql_data_seek() | 레코드 포인터를 이동합니다. | 3 |
mysql_db_name() | mysql_list_dbs() 호출에서 데이터베이스 이름을 반환합니다. | 3 |
mysql_db_query() |
지지되지 않습니다. MySQL 쿼리를 보냅니다. mysql_select_db()와 mysql_query()를 대신 사용합니다. |
3 |
mysql_drop_db() |
지지되지 않습니다. MySQL 데이터베이스를 제거합니다. mysql_query() 대신 사용하세요. |
3 |
mysql_errno() | 마지막 MySQL 작업에서 발생한 오류 정보의 숫자 코드를 반환합니다. | 3 |
mysql_error() | 마지막 MySQL 작업에서 발생한 텍스트 오류 정보를 반환합니다. | 3 |
mysql_escape_string() |
지지되지 않습니다. mysql_query에 대한 문자열을 탈의합니다. mysql_real_escape_string()를 대신 사용합니다. |
4 |
mysql_fetch_array() | 결과 집합에서 한 행을 연관 배열, 숫자 배열 또는 둘 다로 얻습니다. | 3 |
mysql_fetch_assoc() | 결과 집합에서 한 행을 연관 배열로 얻습니다. | 4 |
mysql_fetch_field() | 결과 집합에서 열 정보를 얻고 객체로 반환합니다. | 3 |
mysql_fetch_lengths() | 결과 집합에서 각 필드의 내용의 길이를 얻습니다. | 3 |
mysql_fetch_object() | 결과 집합에서 한 행을 객체로 얻습니다. | 3 |
mysql_fetch_row() | 결과 집합에서 한 행을 숫자 배열로 얻습니다. | 3 |
mysql_field_flags() | 결과에서 지정된 필드와 관련된 플래그를 얻습니다. | 3 |
mysql_field_len() | 지정된 필드의 길이를 반환합니다. | 3 |
mysql_field_name() | 결과 중 지정된 필드의 필드 이름을 얻습니다. | 3 |
mysql_field_seek() | 결과 집의 포인터를 지정된 필드 오프셋으로 설정합니다. | 3 |
mysql_field_table() | 지정된 필드가 있는 테이블 이름을 얻습니다. | 3 |
mysql_field_type() | 결과 집에서 지정된 필드의 타입을 얻습니다. | 3 |
mysql_free_result() | 결과 메모리를 해제합니다. | 3 |
mysql_get_client_info() | MySQL 클라이언트 정보를 얻습니다. | 4 |
mysql_get_host_info() | MySQL 호스트 정보를 얻습니다. | 4 |
mysql_get_proto_info() | MySQL 프로토콜 정보를 얻습니다. | 4 |
mysql_get_server_info() | MySQL 서버 정보를 얻습니다. | 4 |
mysql_info() | 최근 쿼리 정보를 얻습니다. | 4 |
mysql_insert_id() | 마지막 INSERT 작업에서 생성된 ID를 얻습니다. | 3 |
mysql_list_dbs() | MySQL 서버 중의 모든 데이터베이스를 나열합니다. | 3 |
mysql_list_fields() |
지지하지 않습니다. MySQL 결과 중의 필드를 나열합니다. mysql_query() 대신 사용하세요. |
3 |
mysql_list_processes() | MySQL 프로세스를 나열합니다. | 4 |
mysql_list_tables() |
지지하지 않습니다. MySQL 데이터베이스 중의 테이블을 나열합니다. Use mysql_query() 대신 사용하세요. |
3 |
mysql_num_fields() | 결과 집에서 필드의 수를 얻습니다. | 3 |
mysql_num_rows() | 결과 집에서 행의 수를 얻습니다. | 3 |
mysql_pconnect() | MySQL 서버로의 지속적인 연결을 엽니다. | 3 |
mysql_ping() | 서버 연결을 Ping합니다. 연결이 없으면 다시 연결합니다. | 4 |
mysql_query() | MySQL 쿼리를 보냅니다. | 3 |
mysql_real_escape_string() | SQL 문에서 사용하는 문자열의 특수 문자를 escaping합니다. | 4 |
mysql_result() | 결과 데이터를 얻습니다. | 3 |
mysql_select_db() | MySQL 데이터베이스를 선택합니다. | 3 |
mysql_stat() | 현재 시스템 상태를 얻습니다. | 4 |
mysql_tablename() | 지지하지 않습니다. 테이블 이름을 얻습니다. mysql_query() 대신 사용하세요. | 3 |
mysql_thread_id() | 현재 스레드의 ID를 반환합니다. | 4 |
mysql_unbuffered_query() | MySQL에 SQL 쿼리를 전송합니다 (결과를 가져오거나 캐싱하지 않습니다). | 4 |
PHP MySQL 상수
PHP 4.3.0 이후 버전에서 mysql_connect() 함수와 mysql_pconnect() 함수에서 더 많은 클라이언트 태그를 지정할 수 있습니다:
PHP:이 상수를 지원하는 가장 오래된 PHP 버전을 나타냅니다.
상수 | 설명 | PHP |
---|---|---|
MYSQL_CLIENT_COMPRESS | 압축된 통신 프로토콜을 사용합니다. | 4.3 |
MYSQL_CLIENT_IGNORE_SPACE | 함수 이름 뒤에 공백을 두는 것을 허용합니다. | 4.3 |
MYSQL_CLIENT_INTERACTIVE | 연결을 닫기 전까지 허용된 상호작용 비활성 시간. | 4.3 |
MYSQL_CLIENT_SSL | SSL 암호화 사용 (MySQL 클라이언트 라이브러리 버전 4+에서만 사용 가능). | 4.3 |
mysql_fetch_array() 함수는 반환된 배열의 유형을 나타내는 상수를 사용합니다:
상수 | 설명 | PHP |
---|---|---|
MYSQL_ASSOC | 반환된 데이터 열은 필드 이름을 사용하여 배열의 인덱스 이름으로 사용됩니다. | |
MYSQL_BOTH | 반환된 데이터 열은 필드 이름 및 숫자 인덱스를 사용하여 배열의 인덱스 이름으로 사용됩니다. | |
MYSQL_NUM |
반환된 데이터 열은 숫자 인덱스를 사용하여 배열의 인덱스 이름으로 사용됩니다. 인덱스는 0에서 시작하여, 결과의 첫 번째 필드를 나타냅니다. |
- 이전 페이지 PHP Math
- 다음 페이지 PHP MySQLi