MySQL

PHP에서 지원하는 MySQL API함수

MorningPhys 2015. 4. 23. 11:18

# PHP에서 지원하는 MySQL API함수

mysql_connect // MySQL 서버에 연결한다.
mysql_close // MySQL 서버에 대한 연결을 종료한다.
mysql_select_db // MySQL 서버에 있는 특정 DB를 선택한다.
mysql_errno // 가장 최근 실행된 MySQL 작업에 에러 발생시 에러 번호를 반환한다.
mysql_error // 가장 최근에 실행된 MySQL 작업에 에러 발생시 해당 에러의 메시지를 반환한다.
mysql_create_db // MySQL 서버에 인자로 지정한 이름을 갖는 DB를 생성한다.
mysql_drop_db // MySQL 서버에 인자로 지정한 이름을 갖는 DB를 삭제한다.
mysql_query // 연결 식별자에 의해 연결이 확인된 서버에 sql쿼리문을 전송한다.
mysql_num_rows // 결과 레코드 세트에서 행의 수, 즉 레코드의 개수를 반환한다.
mysql_num_fields // 결과 레코드 세트에서 열의 수, 즉 필드의 수를 반환한다.
mysql_num_name // 검색된 결과 레코드 세트에서 특정 필드의 이름을 반환한다.
mysql_field_name // 검색된 결과 레코드 세트에서 특정 필드의 이름을 반환한다.
mysql_field_type // 검색된 결과 레코드 세트에서 특정 필드의 타입을 반환한다.
mysql_field_len // 검색된 결과 레코드 세트에서 특정 필드 타입의 크기를 반환한다.
mysql_field_flags // 검색된 결과 레코드 세트에서 특정 필드에 정의된 속성을 반환한다.
mysql_field_table // 검색된 결과 레코드 세트에서 특정 필드가 속해 있는 테이블의 이름을 반환한다.
mysql_fetch_row // 결과 레코드 세트에서 한 행(레코드)의 데이터를 가져온다.
mysql_fetch_array // 결과 레코드 세트에서 한행(레코드)의 데이터를 연관 배열의 형태로도 가져온다.
mysql_fetch_object // 결과 레코드 세트에서 한 행(레코드)의 데이터를 객체의 형태로 가져온다.
mysql_result // 결과 레코드 세트에서 하나의 필드값을 얻는다.
mysql_free_result // 스크립트가 실행되는 동안 점유했던 메모리 공간을 반환한다.
mysql_data_seek // 결과 레코드 세트 내에서 원하는 레코드 위치로 이동한다.
mysql_fetch_field // 결과 레코드 식별자가 가리키는 결과 레코드 세트로부터 필드 정보를 객체의 형태로 반환한다.
mysql_fetch_lengths // 결과 레코드 세트에서 레코드의 각 필드에 담긴 필드값의 크기를 구한다.
mysql_list_dbs // MySQL 서버에 존재하는 DB 목록을 얻는다.
mysql_list_tables // 현재 선택된 DB 내에 존재하는 테이블의 목록을 얻는다.
mysql_tablename // 테이블의 이름을 반환한다.
mysql_list_fields // 인자로 지정한 DB의 테이블에 존재하는 필드의 목록을 구한다.
mysql_field_seek // 레코드 내에서 필드의 포인터를 새로 지정한 위치로 이동시킨다.
mysql_db_query // MySQL 서버에 SQL문을 전송하고 실행결과로 검색되어진 레코드 세트를 가리키는 식별자를 반환한다.
mysql_pconnect // MySQL 서버에 영구적으로 연결한다. 이때 연결은 스크립트가 종료되어도 끊어지지 않는다.

 

# mysql_connect 함수 예제
<?
$conn = mysql_connect("localhost", "php", "php001") or die("연결 실패");
echo gettype($conn);
?>

 

# mysql_close 함수 예제
<?
$conn = mysql_connect("localhost", "php", "php001") or die("연결 실패");
print "데이터베이스 서버에 성공적으로 연결하였습니다.";
mysql_close($conn);
?>

 

# mysql_select_db 함수 예제
<?
$conn = mysql_connect("localhost", "php", "php001") or die("연결 실패");
print "데이터베이스 서버에 성공적으로 연결하였습니다.";

$status = mysql_select_db("sample");
if(!$status) {
 print "DB 선택에 실패";
}
?>

 

# mysql_errno 함수 예제
# mysql_error 함수 예제
<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");
$status = mysql_select_db("isample");
if(!$status) {
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
}
print "데이터베이스 서버에 성공적으로 연결하였습니다.";
?>

 

# mysql_create_db 함수 예제
<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");

$createDB = mysql_create_db("sample2");
if(!$createDB) {
  echo "sample2 데이터베이스 생성에 실패하였습니다.<br>";
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
} else {
 print "데이터베이스를 성공적으로 생성하였습니다.";
}
mysql_close($conn);
?>

 

# mysql_drop_db 함수
<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");

$dropDB = mysql_drop_db("sample2");
if(!$dropDB) {
  echo "sample2 데이터베이스 삭제에 실패하였습니다.<br>";
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
} else {
 print "데이터베이스를 성공적으로 삭제하였습니다";
}
mysql_close($conn);
?>

 

# mysql_query 함수, mysql_num_rows 함수
<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");
$status = mysql_select_db("isample");
if(!$status) {
  echo "isample 데이터베이스 선택에 실패하였습니다.<br>";
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
} else {
 print "데이터베이스 서버에 성공적으로 연결하였습니다.";
  }
$query = "SELECT name, id, email, sex, milage, level FROM userdb WHERE sex = 'F'";
$result = mysql_query($query,$conn);
if(!$result) {
   $errorNo = mysql_errno();
   $errorMsg = mysql_error();
   echo "ERROR ". $errorNo . ":".$errorMsg;
   exit;
}
$row = mysql_num_rows($result);
echo "검색된 레코드의 수 : ". $rows. "<br>";

$fields = mysql_num_fields($result);
echo "레코드의 필드수 : " . $fields . "<br>";

mysql_close($conn);
?>

mysql_num_fields // 결과 레코드 세트에서 열의 수, 즉 필드의 수를 반환한다.
mysql_num_name // 검색된 결과 레코드 세트에서 특정 필드의 이름을 반환한다.
mysql_field_name // 검색된 결과 레코드 세트에서 특정 필드의 이름을 반환한다.
mysql_field_type // 검색된 결과 레코드 세트에서 특정 필드의 타입을 반환한다.
mysql_field_len // 검색된 결과 레코드 세트에서 특정 필드 타입의 크기를 반환한다.
mysql_field_flags // 검색된 결과 레코드 세트에서 특정 필드에 정의된 속성을 반환한다.
mysql_field_table // 검색된 결과 레코드 세트에서 특정 필드가 속해 있는

<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");
$status = mysql_select_db("isample");
if(!$status) {
  echo "isample 데이터베이스 선택에 실패하였습니다.<br>";
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
} else {
 print "데이터베이스 서버에 성공적으로 연결하였습니다.";
  }
$query = "SELECT name, id, email, sex, milage, level FROM userdb WHERE sex = 'F'";
$result = mysql_query($query,$conn);
if(!$result) {
   $errorNo = mysql_errno();
   $errorMsg = mysql_error();
   echo "ERROR ". $errorNo . ":".$errorMsg;
   exit;
}
$row = mysql_num_rows($result);
echo "검색된 레코드의 수 : ". $rows. "<br>";

$fields = mysql_num_fields($result);
echo "레코드의 필드수 : " . $fields . "<br>";

echo ("<table border=0 cellpadding=10 align=center>\n");
echo ("<tr>\n");
echo ("<td width=100 bgColor=pink align=center>필드명</td>\n");
echo ("<td width=100 bgColor=pink align=center>필드타입</td>\n");
echo ("<td width=100 bgColor=pink align=center>필드크기</td>\n");
echo ("<td width=100 bgColor=pink align=center>필드속성</td>\n");
echo ("<td width=100 bgColor=pink align=center>소속테이블</td>\n");
echo ("</tr>\n");

for($i=0;$i<$fields;$i++) {
  echo("<tr>\n");
  $field_name = mysql_field_name($result, $i);
  $field_type = mysql_field_type($result, $i);
  $field_len = mysql_field_len($result, $i);
  $field_flags = mysql_field_flags($result, $i);
  $field_table = mysql_field_table($result, $i);

echo("<td bgColor=lightyellow align=center>$field_name</td>\n");
echo("<td bgColor=lightyellow align=center>$field_type</td>\n");
echo("<td bgColor=lightyellow align=center>$field_len</td>\n");
echo("<td bgColor=lightyellow align=center>$field_flags</td>\n");
echo("<td bgColor=lightyellow align=center>$field_table</td>\n");

echo ("</tr\n");

}
echo ("</table>");

mysql_close($conn);
?>
</body>
</html>


# mysql_fecth_array 함수

while ($row = mysql_fetch_array($result)) {
  echo("<tr>\n");
  echo("<td bgColor=lightyellow align=center>$row[name]</td>\n");
  echo("<td bgColor=lightyellow align=center>$row[id]</td>\n");
  echo("<td bgColor=lightyellow align=center>$row[email]</td>\n");
  echo("<td bgColor=lightyellow align=center>$row[sex]</td>\n");
  echo("<td bgColor=lightyellow align=center>$row[milage]</td>\n");
  echo("<td bgColor=lightyellow align=center>$row[level]</td>\n");
  echo("</tr>\n");
}

 

# mysql_fetch_object 함수
while ($row = mysql_fetch_object($result)) {
  echo("<tr>\n");
  echo("<td bgColor=lightyellow align=center>$row->name </td>\n");
  echo("<td bgColor=lightyellow align=center>$row->id </td>\n");
  echo("<td bgColor=lightyellow align=center>$row->email </td>\n");
  echo("<td bgColor=lightyellow align=center>$row->sex </td>\n");
  echo("<td bgColor=lightyellow align=center>$row->milage </td>\n");
  echo("<td bgColor=lightyellow align=center>$row->level </td>\n");
  echo("</tr>\n");
}


# mysql_result 함수 // int mysql_result(int result, int row[, mixed field])
<?
$conn = $mysql_connect("localhost", "php", "php2001") or die("connection failed");
$status = mysql_select_db("isample");
if(!$status) {
  echo "isample 데이터베이스 선택에 실패하였습니다.<br>";
  $errorNo = mysql_errno();
  $errorMsg = mysql_error();
  echo "ERROR " . $errorNo . ":" . $errorMsg;
  exit;
} else {
 print "데이터베이스 서버에 성공적으로 연결하였습니다.";
  }
$query = "SELECT name, id, email, sex, milage, level FROM userdb WHERE sex = 'F'";
$result = mysql_query($query,$conn);
if(!$result) {
   $errorNo = mysql_errno();
   $errorMsg = mysql_error();
   echo "ERROR ". $errorNo . ":".$errorMsg;
   exit;
}
$row = mysql_num_rows($result);
echo "검색된 레코드의 수 : ". $rows. "<br>";

$fields = mysql_num_fields($result);
echo "레코드의 필드수 : " . $fields . "<br>";

echo ("<table width=600 border=0 cellpadding=10 align=center> \n");
echo ("<tr>\n");

for($j=0;$j<$fields;$j++) {
  $name = mysql_field_name($result,$j);
  echo("<td bgcolor=pink align='center'>$name</td>\n");
}
echo("</tr>\n");
echo("<tr>\n");

for ($i=0;$i<$rows;$i++) {
  for($j=0;$j<$fields;$j++) {
    $value=mysql_result($result, $i, $j);
    echo("<td bgColor=lightyellow align=center>$value</td>\n");
  }
  echo("</tr>");
}

echo("</tr>\n");
echo("</table>");

mysql_close($conn);
?>

</body>
</html>

 

반응형