>  기사  >  데이터 베이스  >  PHP를 통해 MySQL 데이터베이스 연결, 쿼리, 레코드 세트 및 기타 작업을 구현하는 방법

PHP를 통해 MySQL 데이터베이스 연결, 쿼리, 레코드 세트 및 기타 작업을 구현하는 방법

jacklove
jacklove원래의
2018-06-08 10:30:251650검색

PHP 웹사이트 개발에서는 Mysql 데이터베이스를 운영해야 하는 경우가 종종 있는데, 일반적으로 다음과 같은 단계가 필요합니다: Mysql 데이터베이스 링크, Mysql 데이터베이스 쿼리, Mysql 레코드 세트 작업 등. 위의 작업을 매번 반복하면 작업이 완료되지 않습니다. 번거로울 뿐 아니라 코드가 중복되기 때문에 PHP를 사용하여 Mysql 데이터베이스 작업을 구현하는 일부 코드를 컴파일하고 이를 함수 형태로 게시했습니다. 원하는 대로 다른 함수를 추가하거나 Mysql 데이터베이스 클래스에 통합할 수 있습니다. 필요합니다.

Mysql 데이터베이스 링크 코드

function dbConnect($hostname,$username,$pass,$db_name,$pconnect = 0)
{
$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect';
if(!$connect) {
$connect = @$func($hostname,$username,$pass) or die("Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
}
@mysql_select_db($db_name, $connect) or die(" Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
return $connect;
}

참고:

매개변수 $hostname, $username, $pass, $db_name은 각각 Mysql 데이터베이스 서버 주소, 사용자 이름, 비밀번호 및 연결된 데이터베이스 이름을 나타냅니다. 일반적으로 호스트 이름은 localhost 또는 127.0입니다. 0.1. $pconnect 매개변수의 기본값은 0입니다. 이는 mysql_connect 함수가 일반적으로 Mysql 데이터베이스에 연결하는 데 사용된다는 의미입니다.

지식 포인트:

mysql_connect와 mysql_pconnect의 차이점: 현재 PHP 프로그램을 실행한 후 PHP는 mysql_connect에 의해 설정된 데이터베이스 연결을 자동으로 닫는 반면, mysql_pconnect는 특정 영역 내에 다음 연결 요청이 있을 때 지속적이고 안정적인 데이터베이스 연결을 반환합니다. 재사용이 가능하여 MySQL 데이터베이스에 반복적으로 접속하는 시간을 절약하고 동시 접속량이 많지 않은 상황에 적합합니다. MySQL이 최대 연결 수에 도달했기 때문일 수 있습니다. 요청이 이행되지 않았습니다.

mysql_error 함수: 이전 Mysql 작업으로 생성된 텍스트 오류 메시지를 반환합니다. mysql_errno 함수는 이전 Mysql 작업에서 오류 번호를 반환하거나, 오류가 없으면 0을 반환합니다.

Mysql 데이터베이스 쿼리 코드

function query_error($query)
{
global $connect;
$temp_bar = "
=============================================================================
";
$result = mysql_query($query, $connect) or die("DB ERROR
".$temp_bar." Mysql_Query : ".$query."
Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."".$temp_bar);
return $result;
}

참고: 이 함수는 mysql 데이터베이스 쿼리 함수로, 오류가 발생하면 실제로는 오류 메시지(SQL 문)가 출력됩니다. 웹사이트 데이터베이스의 구조가 노출되는 것을 방지하기 위해 정식 상용화 시에는 SQL 실행문을 출력하지 않는 것이 가장 좋습니다.

Mysql 레코드 세트 연산 함수 코드(mysql_fetch_array)

function fetch_array($result,$result_type = MYSQL_ASSOC,$records = "one")
{
if ($records == "one") {
return @mysql_fetch_array($result,$result_type);
}
else {
for ($i=0;num_rows($result);$i++)
{
$info[$i] = @mysql_fetch_array($result,$result_type);
}
free_result($result);
return $info;
}
}

참고: 이 함수의 함수는 mysql_fetch_array 함수에서 파생되었으며 이를 기반으로 Mysql 데이터베이스 레코드 세트를 읽어오는 함수를 추가하여 다음과 같은 형태로 반환했습니다. 배열.

지식 포인트:

mysql_fetch_array 함수는 mysql_fetch_row 함수의 확장 버전입니다. 두 번째 매개변수 result_type에는 MYSQL_ASSOC, MYSQL_NUM 및 MYSQL_BOTH의 세 가지 값이 있습니다. 기본값은 MYSQL_BOTH입니다. MYSQL_BOTH: 연관 인덱스와 숫자 인덱스를 모두 포함하는 배열을 가져옵니다. MYSQL_ASSOC: 연관된 인덱스만 가져옵니다(mysql_fetch_assoc()). MYSQL_NUM: 숫자 인덱스를 가져옵니다(mysql_fetch_row()).

오류 메시지 함수 코드

function error_msg($msg, $url= "")
{
global $connect;
if($connect) {
mysql_close($connect);
}
switch ($url)
{
case "":
$url = "history.go(-1)";
break;
case "close":
$url = "window.close()";
break;
default:
$url = "document.location.href = '$url'";
break; 
}
if (!empty($msg)) {
echo "<script language=&#39;javascript&#39;>alert(&#39;$str&#39;);$url;</script>";
}
else{
echo "<script language=&#39;javascript&#39;>$url;</script>";
}
exit;
}

참고: 이 함수의 기능은 주로 경고 형식으로 오류를 보고하고 페이지 점프를 수행하는 것입니다. 이는 오류를 보고하거나 점프하기 전에 먼저 Mysql 데이터베이스를 닫습니다. 연결하고 mysql_close 함수를 사용합니다.

호출 지침:

위 Mysql 데이터베이스 작업의 함수 코드에서 $connect 변수가 전역 변수임을 알 수 있습니다. 먼저 위 함수를 mysqlconnect.php와 같은 파일에 넣은 다음 선언합니다. 해당 변수와 할당 값을 지정하려면 dbConnect 함수가 선언된 후 이 Mysql 데이터베이스 연결 함수를 호출합니다. 즉,

$hostname = "mysqlserveraddr";
$username = "yourusername";
$pass = "youruserpass";
$db_name = "yourdatabase";
$connect = dbConnect($hostname,$username,$pass,$db_name);

위의 Mysql 데이터베이스 연결, 데이터베이스 쿼리, 데이터베이스 레코드 세트 연산 함수 코드에 대한 설명을 통해 Mysql 데이터베이스는 PHP 웹 사이트 개발의 작업 기본 기능이 포함되어 있습니다. 필요한 경우 이 코드를 Mysql 데이터베이스 클래스로 변경하거나 PHP를 사용하여 다른 MySQL 데이터베이스 작업 기능을 추가할 수 있습니다. 더 많은 관련 권장 사항은 PHP 중국어 웹 사이트에 주의하세요.

관련 권장 사항:

MYSQL 쿼리 시간 데이터

데이터베이스 방법을 사용하여 세션을 저장하는 방법

SQL 주입을 방지하는 5가지 방법

위 내용은 PHP를 통해 MySQL 데이터베이스 연결, 쿼리, 레코드 세트 및 기타 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.