자세한 PHP 작업 MySQL 데이터베이스

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

작업 데이터베이스는 동적 웹 프로그래밍의 기초,이 기사 PHP에 대 한 자세한 소개를 하면 MySQL 데이터베이스를 작동 하는 방법

1. 설정 및 연결
1) mysql_connect)
리소스 mysql_connect ([호스트 이름 문자열 [: p 오] [: / 경로 / / 소켓] [, 사용자 이름 문자열] [, 문자열 암호]])
모든 매개 변수는 선택 사항
예:
@mysql_connect ("localhost", "사용자" "암호")
또는 다이 ("연결할 수 없습니다 MySQL 서버에!");
참고는 @ 기호 나타냅니다 실패 한 시도 방해 하는 모든 오류 메시지 및 사용자 죽을 ()에 지정 된 오류 메시지가 표시 됩니다.


참고 여러 MySQL에 연결할 때 지정 해야 합니다 각 연결에 대 한 링크 ID 다음과 같습니다.
$link 1 = @mysql_connect ("Server1″, 사용자" "암호")
또는 다이 ("연결할 수 없습니다 MySQL 서버에!");
$link 2 = @mysql_connect ("Server2″, 사용자" "암호")
또는 다이 ("연결할 수 없습니다 MySQL 서버에!");

(2) Mysql_pconnect)
리소스 Mysql_pconnect ([호스트 이름 문자열 [: p 오] [: / 경로 / / 소켓] [, 사용자 이름 문자열] [, 문자열 암호]])
Mysql_connect ()와 달리 기존 링크 먼저 발견 되 고 있는 때까지 만들어지지 않습니다.
참고 닫기 연결 표시 필요가 없습니다 (Mysql_close ())는 연결 풀에 배치 됩니다, 때문에 그것은 소위 영구 연결.

3) Mysql_close)
부울 mysql_close ([리소스 link_id])
연결을 닫기 때문에 MySQL 가비지 수집에 의해 처리 될 수 있습니다 필요 하지 않습니다.
Link_id을 지정 하지 않은 경우 가장 최근의 링크를 닫습니다.

2. 데이터베이스 선택
mysql_select_db)
부울 mysql_select_db (문자열 db_name [, 리소스 link_id])

3. MySQL 쿼리
1) mysql_query)
리소스 mysql_query (문자열 쿼리 [, 리소스 link_id])
쿼리 실행에 대 한 책임.

2) Mysql_db_query ()
리소스 Mysql_db_query (문자열 데이터베이스, 문자열 쿼리 [, 리소스 LINK_ID]
는 mysql_select_db () + mysql_query ()에서 매개 변수.
명확 하 게 볼 수 있는
4. 고 표시 데이터
1) mysql_result ()
혼합 mysql_result (리소스 result_set int 행 [, 혼합된 필드 간단 하지만 비효율적인
result_set 지정된 된 행에 있는 필드에서 데이터를 가져옵니다.

예:


$link 1 = @mysql_connect ("Server1″, WebUser", "비밀 번호")
또는 다이 ("연결할 수 없습니다 MySQL 서버에!");
@mysql_select_db (이 하 ' 회사') 또는 다이 ("수 없습니다 데이터베이스 선택!");

$query = "선택 ID 이름으로 제품 주문에서 이름";
$result = mysql_query ($query);
$id = mysql_result ($result, 0, "id");
$name = mysql_result ($result, 0, "이름");

Mysql_close ();


참고 위의 코드는 그냥 출력 집합에 첫 번째 데이터의 필드 값 및 모든 레코드를 출력 하려는 경우 당신은 재활용 해야 합니다.

& hellip;
대 한 ($i = 0; $i < = mysql_num_rows ($result); $i + +)
{
$id = mysql_result ($result, 0, "id");
$name = mysql_result ($result, 0, "이름");
에코 "제품: $name ($id)";
}
...



참고 쿼리 필드 이름 별칭 경우 별칭 Mysql_result에 사용 됩니다.

(2) mysql_fetch_row)
배열 mysql_fetch_row (자원 result_set)
Result_set에서 전체 행을 가져오고 배열에 데이터를 넣어.
(참고 목록 독창적인 적합) 예:


...
$query = "선택 ID 이름으로 제품 주문에서 이름";
$result = mysql_query ($query);
동안 (목록 ($id, $name) = Mysql_fetch_row ($result)) 없음
에코 "제품: $name ($id)";
}
...



3) mysql_fetch_array)
배열 mysql_fetch_array (자원 result_set [, int result_type])
Mysql_fetch_row ()의 향상 된 버전입니다.
연관 배열 또는 배열에 Result_set의 각 행을 가져옵니다 / 및 숫자 색인.
두 배열은 기본적으로 얻을 수 있습니다 그리고 Result_type 설정할 수 있습니다.
MYSQL_ASSOC: 반환 연관 배열, 필드 이름 = > 필드 값
Mysql_num: 숫자 인덱스의 배열을 반환합니다.
Mysql_both: 되 면 두 개의 배열. 그러므로, 각 필드 참조할 수 있습니다 인덱스 오프셋 또는 필드 이름.
예:


...
$query = "선택 ID 이름으로 제품 주문에서 이름";
$result = mysql_query ($query);
동안 ($row = Mysql_fetch_array ($result, Mysql_both)) {
$name = $row [' 이름 ']; //or $name = $row [1];
$name = $row [' id ']; //or $name = $row [0];
에코 "제품: $name ($id)";
}
...



4) Mysql_fetch_assoc)
배열 Mysql_fetch_assoc (자원 result_set)
Mysql_fetch_array ($result, MYSQL_ASSOC)에 해당

5) Mysql_fetch_object)
개체 Mysql_fetch_object (자원 Result_set)
Mysql_fetch_array () 기능에서와 마찬가지로 반환 배열, 하지만 개체 되지 않습니다.
예:


...
$query = "선택 ID 이름으로 제품 주문에서 이름";
$result = mysql_query ($query);
동안 ($row = Mysql_fetch_object ($result)) 없음
$name = $row-> 이름;
$name = $row-> id;
에코 "제품: $name ($id)";
}
...

5. 레코드를 선택 하 고 레코드에 영향을

1) mysql_num_rows)
int mysql_num_rows (자원 result_set)
Result_set 행 수를 반환합니다.
Note는 mysql_num_rows ()만 유효 SELECT 문은 쿼리에서 가져온 레코드 수를 결정 하 고 삽입/updata/삭제 쿼리에 의해 영향을 받는 레코드 수를 얻을 하려는 경우 Mysql_affected_rows ()를 사용 해야.

(2) Mysql_affected_rows)
int Mysql_affected_rows ([리소스 link_id])
삽입/updata/삭제 쿼리에 의해 영향을 받는 레코드 수를 얻을
매개 변수를 입력 해야 하 고 기본값은 가장 최근 결과 사용 하는 최근에 설립 된 데이터베이스 연결의 데이터베이스 연결을 선택 하는 선택적 매개 변수 link_id를 사용할 수 있습니다.

6. 데이터베이스 및 테이블에 대 한 정보를 얻을
1) Mysql_list_dbs)
리소스 Mysql_list_dbs ([리소스 link_id])
서버에 모든 데이터베이스 이름을 가져옵니다.
예:


mysql_connect ("localhost", "이름", "pwd");
$dbs = Mysql_list_dbs ();
동안 (목록 ($db) = Mysql_fetch_row (DBS)) 없음
에코 "$db < br >";
}


참고 출력 사용 되는 사용자 권한 관련.

(2) Mysql_db_name)
Mysql_db_name (자원 Result_set, Interger 인덱스) 문자열
Mysql_list_dbs ()에서 반환 된 Result_set에서 데이터베이스의 이름을 가져옵니다 인덱스입니다.

3) Mysql_list_tables)
리소스 Mysql_list_tables (문자열 데이터베이스 [, 리소스 link_id])
데이터베이스에서 모든 테이블 이름을 가져옵니다.

4) Mysql_tablename)
Mysql_tablename (자원 Result_set, Interger 인덱스) 문자열
Mysql_list_tables ()는 인덱스를 반환 합니다 어디 result_set 테이블 이름을 가져옵니다.

학습 php에서 com과. Net (윈도) 기능, 나 관련 정보에 대 한 보였다 COM 작업을 통해 SQL Server의 경우 발견이 PHP 연결 액세스 문서 그래서, 믿습니다 인터넷 많습니다, 또는 여기에 게시.

내 컴퓨터 환경: win2000, apache2, php 버전 5.1.0RC1


<? php
$conn = 새로운 COM ("ADODB. 연결 ") 또는 죽을 ("시작할 수 없습니다 ADODB. 연결 ");
$conn-> 개방 ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\php5\netbook.mdb");
$rs = $conn-> 실행 ("선택 * 관리에서"); //Recordset
$num _columns = $rs-> 필드 coun-> T ();
에코 $num _columns입니다. "< br / > n";
위한 ($i = 0 $i < $num _columns $i + +) {
$fld [$i] = $rs-> 필드 ($i);
}
$rowcount = 0;
동안 (! $rs-> eof) {
위한 ($i = 0; $i < $num _columns; $i + +)
& nb Sp; {
에코 htmlspecialchars ($fld [$i]-> 값). "T";
}
에코 "< br / > n";
$rowcount + +; //ROWCOUNT 자동 증가
$rs-> movenext ();

$rs → close (); //Close 데이터 집합
$conn → close ();
?;

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.