PHP를 이야기할 때 MySQL을 빼놓을 수 없고, MySQL을 이야기하려면 PHP도 빼놓을 수 없습니다. PHP의 급속한 성장은 MySQL과 불가분의 관계이며, MySQL의 광범위한 적용 또한 PHP와 밀접한 관련이 있습니다.
다음은 PHP4(총 32개, 모두 mysql_로 시작)에서 MySQL 연산과 관련된 함수를 자세히 분석한 것이다.
<1>. 데이터베이스 서버(데이터베이스 서버)에 연결하는 함수(2) ):
(1).mysql_connect()
형식: int mysql_connect(string [hostname] [ort],string [username],string [password]); 일반적으로 데이터베이스 서버의 포트 번호는 기본 포트 번호를 사용합니다.
매개변수를 입력하지 않으면 기본 호스트 이름은 localhost, 사용자 이름은 root, 비밀번호는 비어 있습니다.
함수가 성공적으로 실행되면 int 유형의 link_identifier가 반환됩니다. 실패하면 false 값이 반환됩니다.
예:
$connect = mysql_connect("localhost","user","password");
if($connect) echo "연결 성공!"; //연결이 성공했습니다. !가 표시됩니다.
else echo "Connect Failed!"; //Connect failed, Display Connect Failed!
위의 예에서 mysql_connect()가 실행되지 않으면 시스템 오류 메시지가 표시됩니다. 메시지가 표시되고 계속해서 아래의 실행을 실행합니다. 그렇다면 이러한 시스템 오류 메시지를 차단하고 실패 후 프로그램을 종료하는 방법은 무엇입니까?
MySQL에서는 시스템 오류 프롬프트를 차단하기 위해 데이터베이스 함수 앞에 @ 기호를 추가하는 것이 허용됩니다. 동시에 die() 함수를 사용하여 보다 이해하기 쉬운 오류 프롬프트를 제공한 다음 die( ) 함수는 자동으로 프로그램을 종료합니다.
위의 예는 다음과 같이 변경할 수 있습니다.
$connect = @mysql_connect("localhost","user","password") 또는 die ("데이터베이스 서버에 연결할 수 없습니다!"); ;
mysql_connect() 실행에 실패하면 Unable to connect Database server라는 메시지가 표시되고 프로그램이 종료됩니다.
(2).mysql_pconnect()
형식: int mysql_pconnect(string [hostname] [ort],string [username],string [password])
이 함수는 (1) mysql_connect와 동일합니다. () 기본적으로 동일하지만 차이점은 다음과 같습니다.
--------- 데이터베이스 작업이 완료되면 (1)의 mysql_connect()에 의해 설정된 연결이 자동으로 닫히고, (2)의 mysql_pconnect()는 강력하고 지속적인 연결로 계속 존재합니다.
--------- (2)의 mysql_pconnect()에서는 각 연결 전에 동일한 호스트 이름, 사용, 비밀번호를 사용하는 연결이 있는지 확인합니다. 있는 경우 이 연결 번호를 사용합니다. 곧장. .
--------- (1)의 mysql_connect()로 설정된 연결은 mysql_close()로 닫을 수 있지만, (2)의 mysql_pconnect()는 mysql_close()로 닫을 수 없다.
<2>. 데이터베이스 연결 함수 닫기(1):
mysql_close()
형식: int mysql_close(int link_identifier)
mysql_connect() 함수에 의해 설정된 연결을 닫습니다. 실행이 성공하면 true 값을 반환하고, 실패하면 false 값을 반환합니다.
예는 다음과 같습니다:
$connect = @mysql_connect("hostname","user","password") or die("데이터베이스 서버에 연결할 수 없습니다!")
$close = @mysql_close ($ connect) 또는 die ("데이터베이스 서버 연결을 닫을 수 없습니다!")
?>
참고: mysql_close()는 mysql_pconnect() 함수에 의해 설정된 연결을 닫을 수 없습니다.
<3>. 데이터베이스 함수 선택(1):
mysql_select_db()
형식: int mysql_select_db(string 데이터베이스 이름, int link_identifier)
지정된 데이터베이스 이름 선택, 성공, 반환 1 참값(True), 실패하면 거짓 값 1 반환
예 1:
$select = mysql_select_db('forum', $connect)
if($select)
{ echo "connect db 포럼 성공!";}
else
{echo "connect db forum failed!";}
?>
예 2:
$select = mysql_select_db("forum ",$ connect) 또는 die("이 DB를 연결할 수 없습니다!");
?> 참고: 이 함수는 USE forum
<4> 쿼리 함수(2):
1.mysql_query()
형식: int mysql_query(string sqlquery, int link_identifier)
서버에 표준 SQL 문 요청을 보냅니다. 실패하면 False 값이 반환됩니다.
예:
$connect = mysql_connect($hostname,$user,$pwd)
$select = mysql_select_db($dbname,$connect)
$query = mysql_query($sql, $ connect);
if($query) echo "Successed !";
else echo "Failed !";
이 함수는 mysql_select_db() 함수와 함께 사용해야 합니다. 단독으로 사용할 수 있습니다. 더 이상 의미가 없습니다! 예:
$connect = mysql_connect($hostname, $user, $pwd)
$query = mysql_db_query($dbname, $sql, $connect)
if($query) echo "성공했습니다!";
else echo "실패했습니다!";
?> mysql_db_query()와 mysql_query()의 차이점은 전자는 데이터베이스를 선택하기 위해 mysql_select_db()를 사용할 필요가 없다는 것입니다. 데이터베이스이지만 SQL문 실행과 동시에 데이터베이스를 선택합니다.
. 데이터베이스 기록 연산 함수(5):
1.mysql_fetch_array()
형식: array mysql_fetch_array(int query)
실행에 성공하고 값이 1개 반환됩니다. 실행에 실패하면 False 값이 반환됩니다.
반환된 배열은 아래 첨자 또는 필드 이름으로 표시될 수 있습니다.
예:
$query = mysql_query($sql, $connect);
while($arrary = mysql_fetch_array($query))
{
echo $array[column1]." | ".$array[column2];
//echo $array[0]." | ".$array[1];
}
?>
참고: 배열의 아래 첨자 0부터 시작됩니다!
2.mysql_fetch_row()
형식: array = mysql_fetch_row(int query)
mysql_fetch_array()의 기능은 기본적으로 1과 동일합니다. 차이점은 mysql_fetch_row()는 배열 첨자로만 표현할 수 있다는 것입니다.
성공 시 배열을 반환하고 실패 시 False 값을 반환합니다.
예:
$query = mysql_query($sql, $connect);
while($row = mysql_fetch_row($query))
{
echo $row[0]. " . $row[1] . "
";
}
?>
참고: mysql_fetch_row() 함수는 배열 첨자로만 표현할 수 있으며 0부터 시작합니다.
또 다른: mysql_fetch_row()는 mysql_fetch_array()보다 빠르게 실행되며 둘 다 데이터의 다음 행을 읽습니다.
3. mysql_result()
형식: int mysql_result(int query, int row, string filename)
mysql_result()에서 매개변수 행은 0부터 시작해야 하며 매개변수 filename은 실수여야 합니다. 필드 이름은 아래 첨자로 표시할 수 없습니다.
실행이 성공하면 데이터베이스에서 검색된 필드의 값이 반환됩니다. 실패하면 False 값이 반환됩니다.
예:
$query = mysql_query($sql, $connect);
echo mysql_result($query, 0, "column1")."
"; , 1, "column1")."
";
echo mysql_result($query , 2, "column1")."
"
?> 거의 없지만 사용하기 쉽습니다.
4.mysql_fetch_object()
형식: object mysql_fetch_object(int query)
루프에서 지정된 필드를 읽을 수 있습니다. 실행이 성공하면 값이 개체 형식으로 반환됩니다. 거짓 값이 반환됩니다.
예:
$query = mysql_query($sql, $connect);
while($object = mysql_fetch_object($query))
";
echo $object->column2 . "
";
echo $object->column3 . "
"; 🎜>참고: mysql_fetch_object() 함수는 성공적인 실행 후 객체를 반환합니다!
작업은 다음과 같습니다.
$object->필드 이름
5.mysql_data_seek()
형식: int mysql_data_seek(int row, int query)
지정된 행(row_number)
실행이 성공하면 true 값을 반환하고, 실패하면 False 값을 반환합니다.
이 함수는 mysql_fetch_array() 또는 mysql_fetch_row()와 함께 사용할 수 있습니다. 즉, mysql_data_seek() 함수를 사용한 후 mysql_fetch_array() 또는 mysql_fetch_row() 함수를 사용하여 지정된 행을 표시할 수 있습니다.
예:
$query = mysql_query($sql, $connect);
$seek = mysql_data_seek($query, 2)
$arrary = mysql_fetch_array($query)
echo $array[column1]."
";
echo $array[column2]."
?>
<6>. ):
1.mysql_create_db()
형식: int mysql_create_db(string 데이터베이스 이름, int link_identifier)
프로그램을 통해 데이터베이스 데이터베이스를 생성할 수도 있습니다. ) 함수를 사용하여 데이터베이스를 생성하거나 삭제합니다
그러나 이 기능을 사용하면 보다 편리하게 데이터베이스를 생성할 수 있습니다.
성공하면 참값 1개를 반환하고, 실패하면 거짓값 1개를 반환합니다.
예:
$connect = mysql_connect("$hostname","$user","$pwd")
$create = mysql_create_db("dbtest", $connect)
if( $create) echo "데이터베이스 생성에 성공했습니다!", int link_identifier)
프로그램을 통해 데이터베이스 데이터베이스를 삭제합니다.
그러나 이 기능을 사용하면 보다 편리하게 데이터베이스를 삭제할 수 있습니다.
성공하면 참 값 1개를 반환하고, 실패하면 거짓 값 1개를 반환합니다.
예:
$connect = mysql_connect("$hostname","$user","$pwd")
$create = mysql_drop_db("dbtest", $connect)
if( $create) echo "database dbtest 삭제에 성공했습니다!";
else echo "database dbtest 삭제에 실패했습니다!"
?> 참고: mysql_query() 또는 mysql_db_query()를 사용하는 경우, 해야 할 일:
(1)create Database dbtest
(2)drop Database dbtest
7) 데이터베이스 정보 함수(2):
1, mysql_fetch_field()
형식: object mysql_fetch_field(int query , int [field_offset])
아래 첨자가 포함된 해시 테이블인 1개 객체를 반환합니다.
table: 테이블 이름
name: 필드 이름
max_length: 최대 길이 field
not_null: 필드가 null이 아니면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
primary_key: 필드가 기본 키이면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
unique_key: 필드가 고유 키인 경우 , 1을 반환하고, 그렇지 않으면 0을 반환합니다.
multiple_key: 필드가 고유 키가 아닌 경우 1을 반환하고, 그렇지 않으면 0을 반환합니다.
numeric: 필드가 숫자이면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
blob: 반환 필드가 blob이면 1, 그렇지 않으면 0을 반환합니다.
type: 필드 유형
unsigned: 필드가 부호가 없으면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
zerofill: 필드가 0으로 채워져 있으면 1을 반환하고, 그렇지 않으면 반환합니다. 0
참조 형식: 객체 이름->하위 첨자 이름
이 함수를 사용하여 테이블 이름, 필드 이름, 유형을 가져옵니다.
예:
$query = mysql_query($sql, $connect);
while($object = mysql_fetch_field ($query))
{
echo "테이블 이름: ".$object->table."
"
echo " 필드 이름: ".$object->name."
";
echo "기본 키: ".$object->primary_key."
";
echo "null이 아님: " .$object->not_null."
" ;
echo "필드 유형: ".$object->type."
"
echo "필드 최대 길이: ".$object ->max_length."
";
}
?>
참고: 해시 테이블은 0 좌표에서 시작합니다. 즉, 첫 번째 필드는 해시 테이블의 0 항목입니다.
해시 테이블의 세 번째 항목이나 필드의 정보를 직접 얻으려면 다음 형식을 사용할 수 있습니다.
$query = mysql_query($sql, $connect)
$object = mysql_fetch_field( $query , 2);
echo "테이블 이름: ".$object->table."
"
echo "필드 이름: ".$object->name."
";
echo "기본 키: ".$object->primary_key."
";
echo "not null: ".$object->not_null.";
echo "필드 유형: ".$object->type."
"
echo "필드 최대 길이: ".$object->max_length."
"; ?> ;
실제로 다음 함수를 통해서도 동일한 목적을 달성할 수 있습니다.
2. mysql_field_seek()
형식: int mysql_field_seek(int $query, int field_offset)
지정된 필드로 커서를 이동합니다.
예:
$query = mysql_query($sql, $connect);
$seek = mysql_field_seek($query, 2)
$object = mysql_fetch_field($query); "테이블 이름: ".$object->table."
"
echo "필드 이름: ".$object->name."
"
echo "기본 키: ".$object->primary_key."
";
echo "not null: ".$object->not_null."
";
echo "필드 유형: ".$object ->type."
";
echo "field max length: ".$object->max_length."
"
?> 위의 예와 동일한 요구 사항입니다.
8) 데이터베이스 이름 및 테이블 이름 가져오기(2):
1.mysql_list_dbs()
형식: int mysql_list_dbs(int link_identifier)
사용 가능한 모든 데이터베이스 이름(데이터베이스 이름)을 가져옵니다.
예:
$connect = mysql_connect($host, $usr,$pwd)
$dbs = mysql_list_dbs($connect);
$rows = mysql_num_rows($dbs); echo "데이터베이스 합계: ".$rows;
$i = 0
while($i<$rows)
{
$db_name[$i] = mysql_tablename($dbs, $i ;
참고: MySQL의 show Databases 명령과 동일합니다.
2. mysql_list_tables()
형식: int mysql_list_tables(string 데이터베이스 이름)
데이터베이스 테이블 이름에 모든 테이블의 이름을 표시합니다.
예:
$connect = mysql_connect($host, $usr, $pwd)
$tables = mysql_list_tables("mysql")
$rows = mysql_num_rows($tables); >echo "테이블 합계: ".$rows;
$i = 0
while($i<$rows)
{
$table_name[$i] = mysql_tablename($tables, $ i);
echo $table_name[$i];
$i;
?> MySQL의 show tables 명령(먼저 mysql 명령을 사용하여 데이터베이스 선택)
위 내용은 marc by marc jacobs 공식 웹사이트의 내용을 포함하여 marc by marc jacobs 공식 웹사이트의 PHP4 및 MySQL 데이터베이스 작업 기능에 대한 자세한 설명을 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.