함수(Function)
함수 정의: 매개변수나 return은 필요없을 경우
생략 가능.
function 함수명 (매개변수1, 매개변수2...){
실행할 명령
return 돌려줄 값;
}
함수 호출: 매개변수 없을 경우 인자 생략 가능, 반환값 없을 경우 받는
변수 생략 가능.
변수 = 함수명(전달할 인자들); |
ex)
$a = 2;
$b = 3;
$c = add($a, $b); // add() 함수 호출
function add($x, $y){ // add() 함수 정의
return $x + $y;
}
echo $c; // 5
|
MySQL 연동용 함수
PHP로 MySQL 데이터베이스를 연동시키는 함수들.
MySQL 서버에 접속하기, DB
지정하기, 접속끊기
MySQL 서버에 접속하기.
mysql_connect("서버주소", "사용자
ID", "비밀번호");
접속한 뒤 사용할 DB 지정하기.
mysql_select_db("DB 명", "DB
리소스 변수");
MySQL 서버에서 접속 끊기.
mysql_close("DB 리소스 변수");
|
ex) <?php $connect
= mysql_connect("localhost", "Tom",
"123");
//localhost 주소에 사용자ID Tom, 비밀번호 123으로 접속 시도
if ( !$connect) //접속 성공 여부 확인
die("DB connect failed:
" . mysql_error()); //에러
메시지 출력한 뒤 프로그램 종료 mysql_select_db("testDB",
$connect);
//testDB란 이름의 데이터 베이스 선택 mysql_close($connect);
//접속 끊기
?> |
데이터
조작하기, 꺼내오기, 데이터 읽어오기, 레코드, 필드 수 알아내기
가로 행 = 레코드(record) = 로우(row)
세로 열 = 필드(field) = 컬럼(column)
MySQL 데이터 조작하기(MySQL 쿼리 실행): 쿼리 실행에 실패할 경우 FALSE를
리턴값으로 돌려준다.
mysql_query("퀴리", "DB 리소스 변수");
MySQL 데이터 꺼내오기.
$val = mysql_query("select * from 테이블
명, DB 리소스 변수");
레코드, 필드 수 알아내기.
mysql_num_rows(쿼리결과 리소스 변수);
mysql_num_fields(쿼리결과 리소스 변수);
데이터 뽑아내기. select 쿼리를 통해 얻어진 테이블 데이터에서 각 필드값을 뽑아낼 때
사용.
mysql_fetch_row(쿼리결과 리소스 변수);
결과값에서 레코드를 한줄씩 차례로 뽑아 각 필드 요소를 배열로
반환하는 함수.
더이상 꺼낼 레코드가 없으면 false를 반환한다.
mysql_fetch_array(쿼리결과 리소스 변수);
결과값에서 레코드를 한줄씩 차례로 뽑아 각 필드 요소를 연관배열로
반환하는 함수. 더이상 꺼낼 레코드가 없으면 false를 반환한다.
mysql_result(쿼리결과 리소스 변수, 레코드 번호, 필드 번호);
결과값에서 해당 번호의 레코드 중 해당 번호의 필드를 뽑아 반환하는 함수.
더이상 꺼낼 레코드가 없으면 false를 반환한다.
|
ex)
<?php
$connect = mysql_connect ("localhost", "testman",
"1234"); //접속하기
mysql_select_db("test_db", $connect); //testdb
데이터베이스 사용 선택
$qry = "select * from test_table";
$datum = mysql_query($qry, $connect);
//test_table 테이블에서 데이터 꺼내오기
이 위쪽 코드는 공통 사용.
mysql_fetch_row()를 사용할 경우----------------------
$numField = mysql_num_fields($datum);
//가져온 데이터의 필드 수 변수에 저장
while($row = mysql_fetch_row($datum)){
//레코드 수 만큼 반복
for($i = 0; $i < $numField;
$i++) { //필드 수 만큼 반복
echo
"$row[$i] ";
}
echo "<br>";
}
?>
mysql_fetch_array()를 사용할 경우----------------------
while($row = mysql_fetch_array($datum)){
//레코드 수 만큼 반복
echo
"$row[num] $row[name] $row[title]";
//연관배열이므로
for문이 필요없되 필드명을 적어줘야 한다.
echo
"<br>";
}
?>
mysql_result()를 사용할 경우-----------------------------
$numRecord = mysql_num_rows($datum);
//가져온 데이터의 레코드 수 변수에 저장
$numField = mysql_num_fields($datum);
//가져온 데이터의 필드 수 변수에 저장
for($i=0; $i < $numRecord; $i++){
for($j=0; $j < $numField; $j++){
$f=mysql_result($datum,
$i, $j);
echo "$f
";
}
echo "<br>";
}
?>
|
기타 PHP 기본 함수
date("형식");
현재의 날짜,요일,시간등을 원하는 형식대로 알려준다.
a: am, pm
A: AM, PM
d: 날짜 2자리 정수
D: 요일 앞 3글자(Mon, Tue)
F: 달 이름 (March, April)
h: 시간 2자리 정수(12시간)
H: 시간 2자리 정수(24시간)
i: 분 2자리 정수
l(소문자L): 요일 글자(Monday, Tuesday)
m: 달 2자리 정수(1, 3, 12)
M: 달 이름 3글자(Mar, Apr)
s: 초 2자리 정수
t: 해당 달의 일 수(28, 30, 31)
Y: 년 4자리 정수(2013)
y: 년 2자리 정수(13)
z: 해당 년 1월1일부터 몇일째
|
ex) echo date("Y-m-d
D A h:i:s");
//2013-04-15 Mon AM 12:43:49 형식으로 오늘 날짜,시간등을 보여줌 |
unset(변수명);
변수의 값을 없애준다. |
ex) $a = "hello";
echo $a; // hello
unset($a);
echo $a; // 아무 것도 출력되지 않음 |
number_format(숫자);
숫자를 3자리마다 쉼표를 넣은 문자열로 리턴 |
ex) echo number_format(1000000);
// 1,000,000 |
header("Location:이동할
주소명") ;
이동할 주소로 적은 곳으로 이동한다. |
ex) header("Location:go.php");
// 같은 폴더내의 go.php로 이동한다. header("Location:http://www.google.com");
//구글로 이동한다. |
move_uploaded_file(임시 파일명,
이동 후 파일명);
임시폴더에 임시파일명으로 업로드된 파일을 특정 폴더에 지정한 이름으로 옮겨준다. |
ex) move_uploaded_file($_FILES[upfile][tmp_name],
"upfiles/" . $FILES[upfile][name]);
//upfile이란 컨트롤을 통해 업로드된 임시파일을 원래의 파일명으로 upfiles란 폴더로
이동시킨다. |
mail(보낼 주소, 제목, 내용, 보낸 사람
주소.참조.비밀참조);
지정된 주소로 이메일로 전송하기. |
ex) $to = 'to@email.com';
$subject = 'It's mailing test';
$$msg = 'just test...';
$from = 'from@email.com';
$cc = 'cc@email.com';
$bcc = 'bcc@email.com';
mail($to, $subject, $msg, 'From: '. $from
. "\r\cCc:" . $cc . "\r\cBcc".
$bcc); //보낼 주소, 제목, 내용, 보낸 사람 주소, 참조, 비밀참조
|
-2013.4.14
-2014.9.28 내용 추가
|