이 글에서는 PHP의 mssql 데이터베이스 연결 클래스 예제 코드를 설명하고 참고용으로 공유합니다.
구체적인 구현 코드는 다음과 같습니다.
var $Host = "";
var $Database = "";
var $User = "";
var $Password = "";
var $Link_ID = 0;
var $Query_ID = 0;
var $Record = 배열();
var $Row = 0;
var $Errno = 0;
var $Error = "";
var $Auto_Free = 0; ## 자동으로 결과를 무료로 제공하려면 이 값을 1로 설정하세요
함수 DB_Sql($query = "") {
$this->query($query);
}
함수 연결() {
if ( 0 == $this->Link_ID ) {
$this->Link_ID=mssql_connect($this->호스트, $this->사용자, $this->비밀번호);
if (!$this->Link_ID)
$this->halt("Link-ID == false, mssql_pconnect 실패");
그렇지 않으면
@mssql_select_db($this->데이터베이스, $this->Link_ID);
}
}
함수 free_result(){
mssql_free_result($this->Query_ID);
$this->Query_ID = 0;
}
함수 쿼리($Query_String)
{
/* PHP4가 질식하므로 빈 쿼리는 사용하지 마세요. */
if ($Query_String == "")
/* 빈 쿼리 문자열은 생성자
에서 전달됩니다. * 쿼리 없이 클래스를 호출할 때. 상황에
* 다음과 같습니다: '$db = new DB_Sql_Subclass;'
*/
0을 반환합니다.
if (!$this->Link_ID)
$this->connect();
# printf("
디버그: 쿼리 = %s
", $Query_String);
$this->Query_ID = mssql_query($Query_String, $this->Link_ID);
$this->행 = 0;
if (!$this->Query_ID) {
$this->Errno = 1;
$this->Error = "일반 오류(MSSQL 인터페이스는 자세한 오류 메시지를 반환할 수 없습니다.)";
$this->halt("잘못된 SQL: ".$Query_String);
}
$this->Query_ID를 반환합니다.
}
함수 next_record() {
if ($this->Record = mssql_fetch_row($this->Query_ID)) {
// 레코드[
$count = mssql_num_fields($this->Query_ID);
for ($i=0; $i $fieldinfo = mssql_fetch_field($this->Query_ID,$i);
$this->기록[strtolower($fieldinfo->name)] = $this->기록[$i];
}
$this->행 = 1;
$stat = 1;
} 다른 {
if ($this->Auto_Free) {
$this->free_result();
}
$stat = 0;
}
$stat를 반환합니다.
}
함수 탐색($pos) {
mssql_data_seek($this->Query_ID,$pos);
$this->행 = $pos;
}
함수 메타데이터($table) {
$카운트 = 0;
$id = 0;
$res = 배열();
$this->connect();
$id = mssql_query("$table에서 * 선택", $this->Link_ID);
if (!$id) {
$this->Errno = 1;
$this->Error = "일반 오류(MSSQL 인터페이스는 자세한 오류 메시지를 반환할 수 없습니다.)";
$this->halt("메타데이터 쿼리에 실패했습니다.");
}
$count = mssql_num_fields($id);
for ($i=0; $i $info = mssql_fetch_field($id, $i);
$res[$i]["table"] = $테이블;
$res[$i]["이름"] = $info["이름"];
$res[$i]["len"] = $info["max_length"];
$res[$i]["flags"] = $info["numeric"];
}
$this->free_result();
$res를 반환합니다.
}
함수 영향을 받은_rows() {
// PHP3/4에서는 지원되지 않는 함수입니다. 크리스 존슨, 2001년 5월 16일.
// return mssql_affected_rows($this->Query_ID);
$rsRows = mssql_query("@@rowcount를 행으로 선택", $this->Link_ID);
if ($rsRows) {
return mssql_result($rsRows, 0, "행");
}
}
함수 num_rows() {
return mssql_num_rows($this->Query_ID);
}
함수 num_fields() {
return mssql_num_fields($this->Query_ID);
}
함수 nf() {
$this->num_rows()를 반환합니다.
}
함수 np() {
$this->num_rows()를 인쇄합니다.
}
함수 f($Field_Name) {
return $this->Record[strtolower($Field_Name)];
}
함수 p($Field_Name) {
$this->f($Field_Name)를 인쇄합니다.
}
기능 정지($msg) {
printf("데이터베이스 오류: %s
", $msg);
printf("MSSQL 오류: %s (%s)
",
$this->Errno,
$this->오류);
die("세션이 중단되었습니다.");
}
}
希望本文所述对大家的PHP程序设计有所帮助。

phpsession 실패 이유에는 구성 오류, 쿠키 문제 및 세션 만료가 포함됩니다. 1. 구성 오류 : 올바른 세션을 확인하고 설정합니다. 2. 쿠키 문제 : 쿠키가 올바르게 설정되어 있는지 확인하십시오. 3. 세션 만료 : 세션 시간을 연장하기 위해 세션을 조정합니다 .GC_MAXLIFETIME 값을 조정하십시오.

PHP에서 세션 문제를 디버그하는 방법 : 1. 세션이 올바르게 시작되었는지 확인하십시오. 2. 세션 ID의 전달을 확인하십시오. 3. 세션 데이터의 저장 및 읽기를 확인하십시오. 4. 서버 구성을 확인하십시오. 세션 ID 및 데이터를 출력, 세션 파일 컨텐츠보기 등을 통해 세션 관련 문제를 효과적으로 진단하고 해결할 수 있습니다.

Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

SESSION.GC_MAXLIFETIME 및 SESSION.COOKIE_LIFETIME을 설정하여 PHP에서 세션 수명을 구성 할 수 있습니다. 1) SESSION.GC_MAXLIFETIME 서버 측 세션 데이터의 생존 시간을 제어합니다. 2) 세션 .Cookie_Lifetime 클라이언트 쿠키의 수명주기를 제어합니다. 0으로 설정하면 브라우저가 닫히면 쿠키가 만료됩니다.

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구
