[Lecture Note] 01 Introduction
이것이 MySQL이다 강의를 참고하여 정리한 글임을 밝힙니다.
데이터 베이스는 MySQL / 웹 서버는 Apache / 웹 프로그래밍 언어로 PHP를 많이 사용하여 주로 AMP라고 불리기도 합니다.
이를 함께 사용하기 위해서 XAMPP라는 소프트 웨어를 사용합니다. 다만 MariaDB가 기본이지만 우리는 MySQL를 사용하고 XAMPP는 버전은 7.3.9버전을 기준으로 진행합니다.
정적 웹사이트인 경우 서버가 클라이언트 스크립트를 그대로 보내주고 받으면 되지만
동적 웹사이트인 경우 서버가 HTML로 받은 요청을 서버 스크립트로 처리하여 HTML을 만들어 다시 보내주면 됩니다.
HTML
형식
<HTML>
<HEAD>
화면에 표시되지 않는 정보
</HEAD>
...
<BODY>
화면에 보이는 contents
</BODY>
</HTML>
TAG
- META : 페이지 정보 포함
<META http-equiv="content-type" content="text/html; charset=utf-8">
-
BR : 줄 바꿈
-
U / B / I : 언더라인, 볼드, 이텔릭체
-
FONT(color, size, face) : 크기, 색상
-
HR(size=픽셀수) : 선 긋기
-
A(href, target(_black는 새 페이지에서)) : 링크
-
IMG(src, with, hegith)
-
TABLE / TR(행) / TH(제목열) / TD(내용열)
<TABLE border = 1>
<TR>
<TH> </TH>
</TR>
<TR>
<TD> </TD>
</TR>
</TABLE>
PHP
데이터 타입
정수, 실수, 문자열, bool, 객체, 배열 등
-
문자열은 주로 큰따옴표로 작성합니다. 내부에서 작은 따옴표로 주로 작성하기 때문입니다.
-
배열의 경우 array(value,…) / range(start, end, incre) / indexing으로 선언할 수 있습니다.
기본 문법
<?php
// 한줄 주석
<*
여러줄 주석
*>
$a = 100; // 변수 입력, 단 변수는 $를 붙여서 구분합니다.
print $a; // 변수 출력
echo $a; // 변수 출력
gettpye($a) // 타입 반환
// 조건문은 자바랑 동일, 다중 분기는 elseif로 사용하면 됩니다. Switch로 처리 가능합니다.
// 반복문은 자바랑 동일
?>
- 예시 : 로그인 화면(send.html)
전송 버튼을 누르면 ACTION이 실행되어 receive.php가 실행됩니다.
이 때 FORM의 method가 post로 되어있기 때문에 암호화 되어 있고 외부로 들어나지 않게 됩니다.
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
</HEAD>
...
<BODY>
<FORM METHOD="post" ACTION="receive.php">
아이디 : <INPUT TYPE="text" NAME="userID">
이름 : <INPUT TYPE = "text" NAME="userName">
<BR><BR>
<INPUT TYPE="submit" VALUE="전송">
</FORM>
</BODY>
</HTML>
- 예시 : 로그인 처리 (receive.php)
FORM에서 method가 POST로 되어 있기 때문에 앞에서 보낸 내용이 $_POST에 있습니다.
<?php
$userID = $_POST["userID"];
$userName = $_POST["userName"];
echo "전달받은 아이디 : ", $userID, "<br>";
echo "전달받은 이름 : ", $userName, "<br>";
?>
- POST와 GET
post는 정보가 가려지고 get은 보이게 됩니다.
내장함수
- 배열을 이용한 함수 : shuffle / sort / rsort / array_reverse
<?php
$myArray = range(1,10);
echo "임의로 섞은 값 ==> ";
shffle($myArray);
foreach($myArray as $data)
echo $data, " ";
echo "<br>오름차순 정렬 ==> ";
sort($myArray);
foreach($myArray as $data)
echo $data, " ";
echo "<br>내림차순 정렬 ==> ";
rsort($myArray);
foreach($myArray as $data)
echo $data, " ";
echo "<br>순서를 반대로 ==> ";
$revArray = array_reverse($myArray);
foreach($myArray as $data)
echo $data, " ";
?>
- date(“포맷”) : 지정한 포멧으로 날짜 반환 / Y: 연도, m: 월, j:일, h: 시
아래의 코드 중 “.”은 문자열을 이어주는 역할을 합니다.
$today = "현재는".date("Y-m-j")."입니다.";
- pi()
- round(숫자), ceil(숫자)
- trim(문자열) : 양쪽 공백 제거
- strlen(문자열) : 문자열 길이
- str_repeat(문자열, 횟수)
- str_replace(old, new, target) : target에서 old를 new로 바꾼다.
- explode(구분자, 문자열) : 문자열을 구분자로 분리해서 배열로 저장
- implode(배열, 구분자) : 배열 중가에 구분자를 넣어서 하나의 문자열로 이음
- htmlspecialchars(HTML 코드) : HTML코드를 해석하지 않고 그대로 프린트
MySQL 관련 함수
- mysqli_connect() : 서버 연결
- mysqli_connect_error() : 에러 발생 시 원인 출력
- mysqli_close(): 서버 연결 종료
- mysqli_select_db(): 사용할 db 지정
- mysql_query(): 쿼리를 서버에 실행, 성공하면 true 반환
- mysqli_error(): 쿼리 실패 원인 출력
- mysqli_num_rows(): SELECT 문 결과가 몇 행인지 출력
- mysqli_fetch_array() : SELECT문 실행 결과에서 결과 행을 추출
댓글남기기